Part Number Hot Search : 
CSNL211 KBPC1 PV2400FC MC4558CN 87AM15X 06006 SI6821 B02070
Product Description
Full Text Search
 

To Download AD9923ABBCZRL Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  ccd signal processor with v-driver and precision timing ? generator ad9923a rev. 0 information furnished by analog devices is believed to be accurate and reliable. however, no responsibility is assumed by analog devices for its use, nor for any infringements of patents or other rights of third parties that may result from its use. specifications subject to change without notice. no license is granted by implication or otherwise under any patent or patent rights of analog devices. trademarks and registered trademarks are the property of their respective owners. one technology way, p.o. box 9106, norwood, ma 02062-9106, u.s.a. tel: 781.329.4700 www.analog.com fax: 781.461.3113 ?2006 analog devices, inc. all rights reserved. features integrated 15-channel v-driver 12-bit, 36 mhz analog-to-digital converter (adc) similar register map to the ad9923 5-field, 10-phase vertical clock support complete on-chip timing generator precision timing core with <600 ps resolution correlated double sampler (cds) 6 db to 42 db 10-bit variable gain amplifier (vga) black level clamp with variable level control on-chip 3 v horizontal and rg drivers 2-phase and 4-phase h-clock modes electronic and mechanical shutter support on-chip driver for external crystal on-chip sync generator with external sync input 8 mm 8 mm csp_bga package with 0.65 mm pitch applications digital still cameras . general description the ad9923a is a complete 36 mhz front-end solution for digital still cameras and other ccd imaging applications. similar to the ad9923 product, the ad9923a includes the analog front end (afe), a fully programmable timing generator (tg), and a 15-channel vertical driver (v-driver). a precision timing core allows adjustment of high speed clocks with approximately 600 ps resolution at 36 mhz operation. the on-chip v-driver supports up to 15 channels for use with 5-field, 10-phase ccds. the analog front end includes black level clamping, cds, vga, and a 12-bit adc. the timing generator and v-driver provide all the necessary ccd clocks: rg, h-clocks, vertical clocks, sensor gate pulses, substrate clock, and substrate bias control. the internal registers are programmed using a 3-wire serial interface. packaged in an 8 mm 8 mm csp_bga, the ad9923a is specified over an operating temperature range of ?25c to +85c. functional block diagram ad9923a dclk clamp d0 to d11 ccdin 12-bit adc ?3db, 0db, +3db, +6db cds 12 reft refb vref +6db to +42db vga horizontal drivers rg hl h1 to h4 4 internal registers sl sdi sck sync generator precision timing generator internal clocks hd vd sync cli clo vsub, mshut, strobe subck vertical timing control v-driver v1, v2, v3, v 4, v5a, v5b, v 6, v7a, v7b, v8, v9, v10, v11, v12, v13 15 3 xsubck, xsubcnt 2 xsg1 to xsg8 8 xv1 to xv13 13 06415-001 figure 1.
ad9923a rev. 0 | page 2 of 88 table of contents features .............................................................................................. 1 applications....................................................................................... 1 general description ......................................................................... 1 functional block diagram .............................................................. 1 specifications..................................................................................... 3 digital specifications ................................................................... 4 h-driver specifications ............................................................... 4 vertical driver specifications ..................................................... 4 analog specifications................................................................... 5 timing specifications .................................................................. 6 absolute maximum ratings............................................................ 7 package thermal characteristics ............................................... 7 esd caution.................................................................................. 7 pin configuration and function descriptions............................. 8 typical performance characteristics ........................................... 10 equivalent circuits ......................................................................... 11 terminology .................................................................................... 12 theory of operation ...................................................................... 13 precision timing high speed timing generation ................. 14 horizontal clamping and blanking......................................... 18 vertical timing generation...................................................... 25 vertical timing example........................................................... 39 vertical driver signal configuration........................................... 41 shutter timing control ............................................................. 45 subck: normal operation...................................................... 46 example of exposure and readout of interlaced frame....... 53 fg_trig operation.................................................................. 55 analog front end description/operation ............................. 56 standby mode operation .......................................................... 61 circuit layout information....................................................... 63 serial interface timing .............................................................. 66 layout of internal registers ...................................................... 67 updating new register values ................................................. 68 complete register listing ......................................................... 69 outline dimensions ....................................................................... 85 ordering guide .......................................................................... 85 revision history 10/06revision 0: initial version
ad9923a rev. 0 | page 3 of 88 specifications table 1. parameter conditions/comments min typ max unit temperature range operating ?25 +85 c storage ?65 +150 c afetg power supply voltages avdd afe analog supply 2.7 3.0 3.6 v tcvdd timing core analog supply 2.7 3.0 3.6 v rgvdd rg driver 2.7 3.0 3.6 v hvdd hl, h1 to h4 drivers 2.7 3.0 3.6 v drvdd data output drivers 2.7 3.0 3.6 v dvdd digital 2.7 3.0 3.6 v v-driver power supply voltages vdd1, vdd2 v-driver logic +2.7 +3.0 +3.6 v vh1, vh2 v-driver high supply +11.5 +15.0 +16.5 v vl1, vl2 v-driver low supply ?8.5 ?7.5 ?5.5 v vm1, vm2 v-driver mid supply ?1.5 0.0 +1.5 v vll subck low supply ?8.5 ?7.5 ?5.5 v vmm subck mid supply ?4.0 0.0 +1.5 v afetg power dissipation total 36 mhz, 3.0 v supply, 400 pf total h-load, 20 pf rg load 335 mw standby 1 mode 105 mw standby 2 mode 1 mw standby 3 mode 1 mw power from hvdd only 1 130 mw power from rgvdd only 10 mw power from avdd only 75 mw power from tcvdd only 40 mw power from dvdd only 75 mw power from drvdd only 5 mw v-driver power dissipation 2 vh1, vh2 = +15 v; vl1, vl2 = ?7.5 v; vm1, vm2 = 0 v; vdd1, vdd2 = 3.3 v; all v-driver inputs tied low vh1, vh2 5 mw vl1, vl2 2.5 mw vm1, vm2 0 mw vdd1, vdd2 0.5 mw maximum clock rate (cli) 36 mhz 1 the total power dissipated by the hvdd suppl y can be approximated using the equation total hvdd power = [ c load hvdd pixel frequency ] hvdd reducing the h-load and/or using a lower hvdd supply reduces the power dissipation. c load is the total capacitance seen by all h-outputs. 2 v-driver power dissipation depends on the frequency of operatio n and the load they are driving. all inputs to the v-driver wer e tied low for the measurements in table 1.
ad9923a rev. 0 | page 4 of 88 digital specifications drvdd = 2.7 v to 3.6 v, c l = 20 pf, t min to t max , unless otherwise noted. table 2. parameter conditions/comments symbol min typ max unit logic inputs high level input voltage v ih 2.1 v low level input voltage v il 0.6 v high level input current i ih 10 a low level input current i il 10 a input capacitance c in 10 pf logic outputs powered by dvdd, drvdd high level output voltage at i oh = 2 ma v oh dvdd ? 0.5, drvdd ? 0.5 v low level output voltage at i ol = 2 ma v ol 0.5 v h-driver specifications hvdd = rgvdd = 2.7 v to 3.6 v, c l = 20 pf, t min to t max , unless otherwise noted. table 3. parameter conditions/comments min typ max unit rg and h-driver outputs rg, hl, and h1 to h4 powered by rgvdd, hvdd high level output voltage at maximum current rgvdd ? 0.5, hvdd ? 0.5 v low level output voltage at maximum current 0.5 v maximum output current programmable 30 ma maximum load capacitance for each output 100 pf vertical driver specifications vdd1 = vdd2 = 3.3 v, vh1 = vh2 = 15 v, vm1 = vm2 = vmm = 0 v, vl1 = vl2 = vll = ?7.5 v, 25c. table 4. parameter conditions/comments symbol min typ max unit v-driver outputs simplified load conditions, 3000 pf to ground delay time vl to vm and vm to vh rising edges t plm , t pmh 35 ns vm to vl and vh to vm falling edges t pml , t phm 35 ns rise time vl to vm t rlm 125 ns vm to vh t rmh 260 ns fall time vm to vl t fml 220 ns vh to vm t fhm 125 ns output currents @ ?7.25 v +10 ma @ ?0.25 v ?22 ma @ +0.25 v +22 ma @ +14.75 v ?10 ma r on 35 subck output simplified load cond itions, 1000 pf to ground delay time vll to vh t plh 25 ns vh to vll t phl 30 ns vll to vmm t plm 25 ns
ad9923a rev. 0 | page 5 of 88 parameter conditions/comments symbol min typ max unit vmm to vh t pmh 25 ns vh to vmm t phm 30 ns vmm to vll t pml 25 ns rise time vll to vh t rlh 40 ns vll to vmm t rlm 45 ns vmm to vh t rmh 30 ns fall time vh to vll t fhl 40 ns vh to vmm t fhm 90 ns vmm to vll t fml 25 ns output currents @ ?7.25 v 20 ma @ ?0.25 v 12 ma @ +0.25 v 12 ma @ +14.75 v 20 ma r on 35 v-driver input t rlm , t rmh , t rlh 50% 10% 90% t plm , t pmh , t plh v-driver output 10% 50% 90% t fml , t fhm , t fhl t pml , t phm , t phl 0 6415-002 figure 2. definition of v-driver timing specifications analog specifications avdd = 3.0 v, f cli = 36 mhz, typical timing specifications, t min to t max , unless otherwise noted. table 5. parameter conditions/comments min typ max unit cds input characteristics definition 1 allowable ccd reset transient 0.5 1.2 v cds gain accuracy vga gain = 6 db (code 15, default value) ?3 db cds gain ?3 ?2.5 ?2 db 0 db cds gain default 0 +0.5 +1 db +3 db cds gain +3 +3.5 +4 db +6 db cds gain +5.5 +6 +6.5 db maximum input range before saturation 0 db cds gain default setting 1.0 v p-p ?3 db cds gain 1.4 v p-p +6 db cds gain 0.5 v p-p maximum ccd black pixel amplitude positive offset definition 1 0 db cds gain (default) ?100 +200 mv +6 db cds gain ?50 +100 mv variable gain amplifier (vga) gain control resolution 1024 steps gain monotonicity guaranteed gain range minimum gain (vga code 15) 6 db maximum gain (vga code 1023) 42 db
ad9923a rev. 0 | page 6 of 88 parameter conditions/comments min typ max unit black level clamp measured at adc output clamp level resolution 1024 steps minimum clamp level (code 0) 0 lsb maximum clamp level (code 1023) 255 lsb analog-to-digital converter (adc) resolution 12 bits differential nonlinearity (dnl) ?1.0 0.5 +1.0 lsb no missing codes guaranteed full-scale input voltage 2.0 v voltage reference reference top voltage (reft) 2.0 v reference bottom voltage (refb) 1.0 v system performance includes entire signal chain gain accuracy low gain (vga code 15) default cds gain (0 db) 6.0 6.5 7.0 db maximum gain (vga code 1023) 42.0 42.5 43.0 db peak nonlinearity, 500 mv input signal 12 db gain applied 0.1 % total output noise ac-grounded input, 6 db gain applied 1.0 lsb rms power supply rejection (psr) measured wi th step change on supply 50 db 1 input signal characteristics are defined as shown in figure 3. 200mv max optical black pixel 500mv typ reset transient 1v max input signal range (0db cds gain) 06415-003 figure 3. signal characteristics timing specifications c l = 20 pf, avdd = dvdd = drvdd = 3.0 v, f cli = 36 mhz, unless otherwise noted. table 6. parameter conditions/comments symbol min typ max unit master clock, cli cli clock period t conv 27.8 ns cli high/low pulse width 11.2 13.9 16.6 ns delay from cli rising edge to internal pixel position 0 t clidly 6 ns afe clpob pulse width 1 , 2 2 20 pixels allowable region for hd falling edge to cli rising edge only valid in slave mode t hdcli 4 t conv ? 2 ns shp inhibit region only valid in slave mode t shpinh 30 39 edge location afe sample location 1 shp sample edge to shd sample edge t s1 11.6 13.9 ns data outputs output delay from dclk rising edge 1 t od 8 ns inhibited area for doutphase edge location shd shd + 11 edge location pipeline delay from shp/shd sampling to data output 16 cycles serial interface maximum sck frequency f sclk 36 mhz sl to sck setup time t ls 10 ns sck to sl hold time t lh 10 ns sdata valid to sck rising edge setup t ds 10 ns sck falling edge to sdata valid hold t dh 10 ns sck falling edge to sdata valid read t dv 10 ns 1 parameter is programmable. 2 minimum clpob pulse width is for functional operation only. wide r typical pulses are recommended to achieve good clamp perform ance.
ad9923a rev. 0 | page 7 of 88 absolute maximum ratings table 7. parameter to rating avdd avss ?0.3 v to +3.9 v tcvdd tcvss ?0.3 v to +3.9 v hvdd hvss ?0.3 v to +3.9 v rgvdd rgvss ?0.3 v to +3.9 v dvdd dvss ?0.3 v to +3.9 v drvdd drvss ?0.3 v to +3.9 v vdd1, vdd2 vss1, vss2 ?0.3 v to +6 v vh1, vh2 vl1, vl2 ?0.3 v to +25 v vh1, vh2 vss1, vss2 ?0.3 v to +17 v vl1, vl2 vss1, vss2 ?17 v to +0.3 v vm1, vm2 vss1, vss2 ?6 v to +6 v vll vss1, vss2 ?17 v to +0.3 v vmm vss1, vss2 ?6 v to + vh vdr_en vss1, vss2 ?0.3 v to +6 v v1 to v15 vss1, vss2 vl ? 0.3 v to vh + 0.3 v rg output rgvss ?0.3 v to rgvdd + 0.3 v h1 to h4 output hvss ?0.3 v to hvdd + 0.3 v digital outputs dvss ?0.3 v to dvdd + 0.3 v digital inputs dvss ?0.3 v to dvdd + 0.3 v sck, sl, sdata dvss ?0.3 v to dvdd + 0.3 v reft/refb, ccdin avss ?0.3 v to avdd + 0.3 v junction temperature 150c lead temperature, 10 sec 350c stresses above those listed under absolute maximum ratings may cause permanent damage to the device. this is a stress rating only; functional operation of the device at these or any other conditions above those indicated in the operational section of this specification is not implied. exposure to absolute maximum rating conditions for extended periods may affect device reliability. package thermal characteristics thermal resistance csp_bga package: ja = 40.3c/w esd caution
ad9923a rev. 0 | page 8 of 88 pin configuration and fu nction descriptions a1 corner index area 1234567891011 a b c d e f g h j k l ad9923a top view (not to scale) 06415-004 figure 4. 105-lead cspbga package pin configuration table 8. pin function descriptions pin no. mnemonic type 1 description a7 avdd p analog supply for afe. a1, a4, b2, b3, b4, b5, b6, b7 avss p analog ground for afe. b8 tcvdd p analog supply for timing core. b9 tcvss p analog ground for timing core. e1 dvdd1 p digital logic power supply 1. f2 dvss1 p digital logic ground 1. k8, l7, l8 dvdd2 p digital logic power supply 2. k9 dvss2 p digital logic ground 2. d9 hvdd p h1 to h4, hl driver supply. d10 hvss p h1 to h4, hl driver ground. b10 rgvdd p rg driver supply. a10 rgvss p rg driver ground. l4 drvdd p data output driver supply. l5 drvss p data output driver ground. j4 vdd1 p v-driver logic supply 1. k5 vss1 p v-driver logic ground 1. l10 vdd2 p v-driver logic supply 2. k10 vss2 p v-driver logic ground 2. f9 vh1 p v-driver high supply 1. d1 vh2 p v-driver high supply 2. e9 vl1 p v-driver low supply 1. c1 vl2 p v-driver low supply 2. c9 vm1 p v-driver mid supply 1. d3 vm2 p v-driver mid supply 2. f3 vll p subck driver low supply. e3 vmm p subck driver mid supply. a6 ccdin ai ccd signal input. a5 ccdgnd ai ccd signal ground. a3 reft ao voltage reference top bypass. a2 refb ao voltage reference bottom bypass. c3 sl di 3-wire serial load pulse. c2 sck di 3-wire serial clock. b1 sdi di 3-wire serial data input. g7 sync di external system synchronization input. e5 rstb di reset bar, active low pulse.
ad9923a rev. 0 | page 9 of 88 pin no. mnemonic type 1 description a8 cli di reference clock input (master clock). a9 clo do clock output for crystal. f11 h1 do ccd horizontal clock 1. e11 h2 do ccd horizontal clock 2. d11 h3 do ccd horizontal clock 3. c11 h4 do ccd horizontal clock 4. b11 hl do ccd last horizontal clock. c10 rg do ccd reset gate clock. k6 vsub do ccd substrate bias. f5 mshut do mechanical shutter pulse. g5 strobe do strobe pulse. g6 subck do ccd substr ate clock (e shutter). f1 dclk do data clock output. g1 d0 do data output (lsb). h3 d1 do data output. h2 d2 do data output. h1 d3 do data output. j3 d4 do data output. j2 d5 do data output. j1 d6 do data output. k3 d7 do data output. k2 d8 do data output. k1 d9 do data output. l3 d10 do data output. l2 d11 do data output (msb). d2 vd dio vertical sync pulse. input in slave mode, output in master mode. e2 hd dio horizontal sync pulse. input in slave mode, output in master mode. c8 v1 vo3 ccd vertical transfer clock. g10 v2 vo2 ccd vertical transfer clock. e7 v3 vo3 ccd vertical transfer clock. g9 v4 vo2 ccd vertical transfer clock. c4 v5a vo3 ccd vertical transfer clock. c5 v5b vo3 ccd vertical transfer clock. f10 v6 vo2 ccd vertical transfer clock. c6 v7a vo3 ccd vertical transfer clock. c7 v7b vo3 ccd vertical transfer clock. g11 v8 vo2 ccd vertical transfer clock. h11 v9 vo2 ccd vertical transfer clock. h10 v10 vo2 ccd vertical transfer clock. f6 v11 vo3 ccd vertical transfer clock. f7 v12 vo3 ccd vertical transfer clock. e10 v13 vo2 ccd vertical transfer clock. k11 vdr_en di v-driver output enable pin. j5 test0 di test input. must be tied to vss1 or vss2. j7 test1 di test input. must be tied to vss1 or vss2. j8 test3 di test input. must be tied to vdd1 or vdd2. a11, e6, h9, j6, j9, j10, j11, k4, k7, l1, l6, l9, l11, g2, g3 nc no connect. 1 ai = analog input, ao = analog output, di = digital input, do = digital output, dio = digital input/output, p = power, vo2 = v ertical driver output 2 level, vo3 = vertical driver output 3 level.
ad9923a rev. 0 | page 10 of 88 typical performance characteristics frequency (mhz) power (v) 18 0 450 400 350 300 250 200 150 100 50 36 3.3v 3.0v 2.7v 27 06415-089 figure 5. power vs. sample rate code dnl (lsb) 0 500 1000 1500 2000 2500 3000 3500 ?0.6 ?0.4 ?0.2 0 0.2 0.4 0.6 4000 06415-086 figure 6. typical dnl performance code inl (lsb) 0 500 1000 1500 2000 2500 3000 3500 ?3 ?2 ?1 0 1 2 3 4 5 4000 06415-087 figure 7. typical inl performance gain code noise lsb (rms) 0 0 55 50 45 40 35 30 25 20 15 10 5 1000900800 700 600500400300200100 ?3db 0db +3db +6db 06415-088 figure 8. output noise vs. vga gain
ad9923a rev. 0 | page 11 of 88 equivalent circuits r avdd avss avss 06415-005 figure 9. ccdin, ccdgnd dvdd drvdd dvss drvss data three-state d[0:11] 0 6415-006 figure 10. digital data outputs dvdd dvss 330? 06415-007 figure 11. digital inputs rg, hl, h1 to h4 three-state output hvdd or rgvdd hvss or rgvss 06415-008 figure 12. hl, h1 to h4, and rg drivers v dvdd vdr_en vdvss r 3.5k ? 06415-009 figure 13. vdr_en input
ad9923a rev. 0 | page 12 of 88 terminology differential nonlinearity (dnl) an ideal adc exhibits code transitions that are exactly 1 lsb apart. dnl is the deviation from this ideal value. therefore, every code must have a finite width. no missing codes guaranteed to 12-bit resolution indicates that all 4096 codes, respectively, must be present over all operating conditions. integral nonlinearity (inl) the deviation of each code measured from a true straight line between the zero and full-scale values. the point used as zero scale occurs 0.5 lsb before the first code transition. positive full scale is defined as a level 1.5 lsb beyond the last code transition. the deviation is measured from the middle of each output code to the true straight line. peak nonlinearity peak nonlinearity, a full signal chain specification, refers to the peak deviation of the ad9923a output from a true straight line. the point used as zero scale occurs 0.5 lsb before the first code transition. positive full scale is defined as a level 1.5 lsb beyond the last code transition. the deviation is measured from the middle of each output code to the true straight line. the error is expressed as a percentage of the 2 v adc full-scale signal. the input signal is always appropriately gained up to fill the full-scale range of the adc. tot a l o utput noi s e the rms output noise is measured using histogram techniques. the standard deviation of the adc output codes is calculated in lsb, and represents the rms noise level of the total signal chain at the specified gain setting. the output noise can be converted to an equivalent voltage, using the relationship 1 lsb = ( adc full scale /2 n codes ) where n is the bit resolution of the adc and 1 lsb is 0.488 mv. power supply rejection (psr) the psr is measured with a step change applied to the supply pins. the psr specification is calculated from the change in the data outputs for a given step change in the supply voltage.
ad9923a rev. 0 | page 13 of 88 theory of operation figure 14 shows the typical system block diagram for the ad9923a in master mode. the ccd output is processed by the ad9923a afe circuitry, which consists of a cds, vga, black level clamp, and adc. the digitized pixel information is sent to the digital image processor chip that performs the post- processing and compression. to operate the ccd, ccd timing parameters are programmed into the ad9923a from the system microprocessor through the 3-wire serial interface. the ad9923a generates the ccd horizontal, vertical, and the internal afe clocks from the system master clock cli. the cli is provided by the image processor or external crystal. external synchroniza- tion is provided by a sync pulse from the microprocessor, which resets internal counters and resyncs the vd and hd outputs. alternatively, the ad9923a can be operated in slave mode, in which the vd and hd are provided externally from the image processor. in this mode, the ad9923a timing is synchronized with vd and hd. the h-drivers for hl, h1 to h4, and rg are included in the ad9923a, allowing these clocks to be directly connected to the ccd. an h-driver voltage, hvdd, of up to 3.3 v is supported. an external v-driver is required for the vertical transfer clocks, the sensor gate pulses, and the substrate clock. the ad9923a also includes programmable mshut and strobe outputs that can be used to trigger mechanical shutter and strobe (flash) circuitry. figure 15 and figure 16 show the maximum horizontal and vertical counter dimensions for the ad9923a. internal hori- zontal and vertical clocking is controlled by these counters to specify line and pixel locations. the maximum hd length is 8192 pixels per line, and the maximum vd length is 4096 lines per field. ccdin mshut strobe hl, h1 to h4, rg, vsub v 1 to v13, subck ccd ad9923a afetg + v-driver digital image processing asic d[0:11] dclk hd, vd cli serial interface sync micro- processor 06415-013 figure 14. typical system block diagram, master mode 13-bit horizontal = 8192 pixels max 12-bit vertical = 4096 lines max maximum counter dimensions 06415-014 figure 15. vertical and horizontal counters vd hd max vd length is 4096 lines cli max hd length is 8192 pixels 06415-015 figure 16. maximum vd/hd dimensions
ad9923a rev. 0 | page 14 of 88 precision timing high speed timing generation the ad9923a generates high speed timing signals using the flexible precision timing core. this core is the foundation for generating the timing used for both the ccd and the afe. it consists of the reset gate (rg), horizontal drivers (h1 to h4 and hl), and sample clocks (shp and shd). a unique architecture makes it routine for the system designer to optimize image quality by providing precise control over the horizontal ccd readout and the afe-correlated double sampling. the high speed timing of the ad9923a operates the same in master and slave modes. for more information on synchroniza- tion and pipeline delays, see the power-up and synchronization in slave mode section. timing resolution the precision timing core uses a 1 master clock input (cli) as a reference. the frequency of this clock should match the ccd pixel clock frequency. figure 17 illustrates how the internal timing core divides the master clock period into 48 steps, or edge positions. using a 36 mhz cli frequency, the edge resolution of the precision timing core is approximately 0.6 ns. if a 1 system clock is not available, a 2 reference clock can be used by programming the clidivide register (address 0x30). the ad9923a then internally divides the cli frequency by 2. the ad9923a includes a master clock output (clo) which is the inverse of cli. this output is intended to be used as a crystal driver. a crystal can be placed between the cli and clo pins to generate the master clock for the ad9923a. for more information on using a crystal, see figure 80 . high speed clock programmability figure 18 shows how the rg, hl, h1 to h4, shp, and shd high speed clocks are generated. the rg pulse has programmable rising and falling edges and can be inverted using the polarity control. the hl, h1, and h3 horizontal clocks have program- mable rising and falling edges and polarity control. the h2 and h4 clocks are inverses of the h1 and h3 clocks, respectively. table 9 summarizes the high speed timing registers and their parameters. figure 19 shows the typical 2-phase, h-clock operation, in which h3 and h4 are programmed for the same edge location as h1 and h2. the edge location registers are six bits wide, but there are only 48 valid edge locations available. therefore, the register values are mapped into four quadrants, each of which contains 12 edge locations. tabl e 10 shows the correct register values for the corresponding edge locations. figure 20 shows the default timing locations for high speed clock signals. h-driver and rg outputs in addition to the programmable timing positions, the ad9923a features on-chip output drivers for the rg and h1 to h4 outputs. these drivers are powerful enough to directly drive the ccd inputs. the h-driver and rg current can be adjusted for optimum rise/fall times in a particular load by using the h1 to h4, hl, and rgdrv registers (address 0x36). the 3-bit drive setting for each output can be adjusted in 4.1 ma increments, with the minimum setting of 0 equal to 0 ma or three-state, and the maximum setting of 7 equal to 30.1 ma. as shown in figure 18 , figure 19 , and figure 20 , the h2 and h4 outputs are inverses of h1 and h3 outputs, respectively. the h1/h2 crossover voltage is approximately 50% of the output swing. the crossover voltage is not programmable. digital data outputs the ad9923a data output and dclk phase are programmable using the doutphase register (address 0x38, bits[5:0]). any edge from 0 to 47 can be programmed, as shown in figure 21 . normally, the dout and dclk signals track in phase, based on the doutphase register contents. the dclk output phase can also be held fixed with respect to the data outputs by setting the dclkmode register to high (address 0x38, bit[8]). in this mode, the dclk output remains at a fixed phase equal to a delayed version of cli, and the data output phase remains programmable. for more detail, see the analog front end description/operation section. there is a fixed output delay from the dclk rising edge to the dout transition, called t od . this delay can be programmed to four values between 0 ns and 12 ns, using the doutdelay register (address 0x38, bits[10:9]). the default value is 8 ns. the pipeline delay through the ad9923a is shown in figure 22 . after the ccd input is sampled by shd, there is a 16-cycle delay before the data is available. table 9. timing core register parame ters for hl, h1 to h4, rg, shp/shd parameter length (bits) range description polarity 1 high/low polarity control for hl, h1 , h3, and rg (0 = no inversion, 1 = inversion) positive edge 6 0 to 47 edge location positive edge location for hl, h1, h3, and rg (h2/h4 are inverses of h1/h3, respectivel y) negative edge 6 0 to 47 edge location negative edge location for hl, h1, h3, and rg (h2/h4 are inverses of h1/h3, respectivel y) sampling location 6 0 to 47 edge location sampling loca tion for internal shp and shd signals drive strength 3 0 to 7 current steps drive current for hl, h1 to h4, and rg outputs (4.1 ma per step)
ad9923a rev. 0 | page 15 of 88 table 10. precision timing edge locations quadrant edge location (decimal) register value (decimal) register value (binary) i 0 to 11 0 to 11 000000 to 001011 ii 12 to 23 16 to 27 010000 to 011011 iii 24 to 35 32 to 43 100000 to 101011 iv 36 to 47 48 to 59 110000 to 111011 p[0] p[48] = p[0] p[12] p[24] p[36] 1 pixel period cli t clidly position notes 1. the pixel clock period is divided into 48 positions, providing fine edge resolution for high speed clock. 2. there is a fixed delay from the cli input to the internal pixel period position (t clidly = 6ns typ). 06415-016 figure 17. high speed clock resoluti on from cli master clock input h1 h2 ccd signal rg programmable clock positions: 1 rg rising edge. 2 rg falling edge. 3 shp sample location. 4 shd sample location. 5 hl rising edge position. 6 hl falling edge position. 7 h1 rising edge position. 8 h1 falling edge position (h2 is inverse of h1). 9 h3 rising edge position. 10 h3 falling edge position (h4 is inverse of h3). h3 h4 3 4 12 78 hl 56 91 0 06415-017 figure 18. high speed clock programmable locations
ad9923a rev. 0 | page 16 of 88 hl/h1/h3 h2/h4 rg notes 1. using the same toggle positions for h1 and h3 generates standard 2-phase h-clocking. ccd signal 06415-018 figure 19. 2-phase h-clock operation p[0] pixel period rg hl/h1/h3 p[48] = p[0] ccd signal p[24] p[12] p[36] notes 1. all signal edges are fully programmable to any of the 48 positions within one pixel period. 2. default positions for each signal are shown. position h2/h4 rgr[0] rgf[12] hr[0] hf[24] shp[24] t s1 shd[48] 0 6415-019 figure 20. high speed timing default locations
ad9923a rev. 0 | page 17 of 88 notes 1. data output (dout) and dclk phase are adjustable with respect to the pixel period. 2 . within 1 clock period, the data transition can be programmed to 48 different locations. 3 . output delay ( t od ) from dclk rising edge to dout rising edge is programmable. p[0] p[48] = p[0] pixel period p[12] p[24] p[36] dout dclk t od 06415-020 figure 21. digital output phase adjustment dclk d[0:11] ccdin cli shd (internal) nn+1 n+2 n+15 n+14 n+13 n+12 n+8 n+7 n+6 n+5 n+4 n+3 n+16 n?14 n?4 n?5 n?6 n?7 n?8 n?9 n?10 n?11 n?12 n?13 n?3 n?2 n n?1 sample pixel n t clidly t doutinh n?17 n?4 n?8 n?9 n?10 n?11 n?12 n?13 n?14 n?15 n?16 n?3 n?2 n n?1 adc dout (internal) n+11 n+10 n+9 n?7 n?6 n?5 n?17 n?15 n?16 n+17 notes 1. timing values shown are shdloc = 0, with dclkmode = 0. 2. higher values of shd and/or doutphase shift dout transition to the right with respect to cli location. 3. inhibit time for dout phase is defined by t doutinh , which is equal to shdloc plus 11 edges. it is recommended that the 12 edge locations following shdloc not be used for the doutphase location. 4. recommended value for dout phase is to use the shploc edge or the 11 edges following shploc. 5. recommended value for t od (dout dly) is 4ns. 6. the dout latch can be bypassed using register 0x01, bit [1] = 1 so that the adc data outputs appear directly at the data output pins. this configuration is recommended if the adjustable dout phase is not required. pipeline latency = 16 cycles 06415-021 figure 22. digital data output pipeline delay
ad9923a rev. 0 | page 18 of 88 horizontal clamping and blanking the ad9923a horizontal clamping and blanking pulses are fully programmable to suit a variety of applications. individual controls are provided for clpob, pblk, and hblk during different regions of each field. this allows dark pixel clamping and blanking patterns to be changed at each stage of the readout to accommodate different image transfer timing and high speed line shifts. individual clpob and pblk patterns the afe horizontal timing consists of clpob and pblk, as shown in figure 23 . these two signals are independently programmed using the registers in table 11 . spol is the start polarity for the signal, and tog1 and tog2 are the first and second toggle positions of the pulse. both signals are active low and should be programmed accordingly. a separate pattern for clpob and pblk can be programmed for each v-sequence. as described in the ver t ic al timing generation section, several v-sequences can be created, each containing a unique pulse pattern for clpob and pblk. figure 46 shows how the sequence change positions divide the readout field into regions. a different v-sequence can be assigned to each region, allowing the clpob and pblk signals to change with each change in the vertical timing. unused clpob and pblk toggle positions should be set to 8191. clpob and pblk masking area the ad9923a allows the clpob and/or pblk signals to be disabled during certain lines in the field without changing the existing clpob and/or pblk pattern settings. to use clpob masking, the clpmaskstart and clpmaskend registers are programmed to specify the starting and ending lines in the field where the clpob patterns are ignored. there are three sets of clpmaskstart and clpmaskend registers, allowing up to three clpob masking areas to be created. clpob masking registers are not specific to a given v-sequence; they are active for any existing field of timing. to disable the clpob masking feature, set these registers to the maximum value, 0xfff (default value). to use pblk masking, the pblkmaskstart and pblkmaskend registers are programmed to specify the starting and ending lines in the field where the pblk patterns are ignored. there are three sets of pblkmaskstart and pblkmaskend registers, allowing the creation of up to three pblk masking areas. pblk masking registers are not specific to a given v-sequence; they are active for any existing field of timing. to disable the pblk masking feature, set these registers to the maximum value, 0xfff (default value). table 11. clpob and pblk pattern registers register length (bits) range description clpobpol 1 high/low starting polarity of clpob for each v-sequence pblkpol 1 high/low starting polar ity of pblk for each v-sequence clpobtog1 13 0 to 8191 pixel location first clpob to ggle position within the line for each v-sequence clpobtog2 13 0 to 8191 pixel location second clpob toggle position within the line for each v-sequence pblktog1 13 0 to 8191 pixel location first pblk to ggle position within the line for each v-sequence pblkbtog2 13 0 to 8191 pixel location second pblk toggle position within the line for each v-sequence clpmaskstart 12 0 to 4095 line location clpob masking areastarting line within the field (maximum of three areas) clpmaskend 12 0 to 4095 line location clpob masking areaending line within the field (maximum of three areas) pblkmaskstart 12 0 to 4095 line location pblk masking areastarting line within the field (maximum of three areas) pblkmaskend 12 0 to 4095 line location pblk masking areaending line within the field (maximum of three areas) 3 2 1 hd clpob pblk programmable settings: 1 start polarity (clamp and blank regions are active low). 2 first toggle position. 3 second toggle position. active active 06415-022 figure 23. clamp and preblank pulse placement
ad9923a rev. 0 | page 19 of 88 no clpob signal for line 600 vd hd no clpob signal for lines 6 to 8 clpmaskstart1 = 6 clpmaskend1 = 8 0 1 2 597 598 clpmaskstart2 = clpmaskend2 = 600 c lpob 06415-023 figure 24. clpob masking example no pblk signal for line 703 vd hd no pblk signal for lines 6 to 8 pblkmaskstart1 = 6 pblkmaskend1 = 8 0 1 2 700 701 pblkmaskstart2 = pblkmaskend2 = 703 pbl k 0 6415-010 figure 25. pblk masking example
ad9923a rev. 0 | page 20 of 88 individual hblk patterns the hblk programmable timing shown in figure 26 is similar to clpob and pblk; however, there is no start polarity control. only the toggle positions are used to designate the start and end positions of the blanking period. additionally, there is a polarity control register, hblkmask, that designates the polarity of the horizontal clock signals during the blanking period. setting hblkmask high sets h1 = h3 = high and h2 = h4 = low during blanking, as shown in figure 27 . as with clpob and pblk registers, hblk registers are available in each v-sequence, allowing different blanking signals to be used with different vertical timing sequences. generating special hblk patterns there are six toggle positions available for hblk. normally, only two of the toggle positions are used to generate the standard hblk interval. however, additional toggle positions can be used to generate special hblk patterns, as shown in figure 28 . the pattern in this example uses all six toggle positions to generate two extra groups of pulses during the hblk interval. by changing the toggle positions, different patterns can be created. table 12. hblk pattern registers register length (bits) range description hblkmask 1 high/low masking polarity for h1, h3, hl (0 = mask low, 1 = mask high) hblkalt 3 0 to 7 alternation modes enables different odd/even altern ation of hblk toggle positions 0: disable alternation (hblktoge1 to hblktoge6 registers are used for each line) 1: toge1 and toge2 odd lines, toge3 to toge6 even lines 2: toge1 and toge2 even lines, toge3 to toge6 odd lines 3: toge1 to toge6 even lines, togo1 to toge6 odd lines (freeze/resume not available) 4 to 7: hblkstart, hblkend, hblklen, an d hblkrep registers are used for each line hblktoge1 13 0 to 8191 pixel location hblk first toggle position (for even lines only when hblkalt = 3) hblktoge2 13 0 to 8191 pixel location hblk second toggle position (for even lines only when hblkalt = 3) hblktoge3 13 0 to 8191 pixel location hblk third toggle position (for even lines only when hblkalt = 3) hblktoge4 13 0 to 8191 pixel location hblk fourth toggle position (for even lines only when hblkalt = 3) hblktoge5 13 0 to 8191 pixel location fifth toggle position, even lines (hblkstart when hblkalt = 4 to 7) hblktoge6 13 0 to 8191 pixel location sixth toggle position, even lines (h blkend when hblkalt = 4 to 7) hblklen 13 0 to 8191 pixels hblk pattern le ngth, only used when hblkalt = 4 to 7 hblkrep 8 0 to 255 repetitions number of hblk patt ern repetitions, only used when hblkalt = 4 to 7 hblktogo1 13 0 to 8191 pixel location first toggle position for odd lines when hblkalt = 3 (usually vrepa_3) hblktogo2 13 0 to 8191 pixel location second toggle position for odd lines when hblkalt = 3 (usually vrepa_4) hblktogo3 13 0 to 8191 pixel location third toggle position for odd lines when hblkalt = 3 (usually freeze1) hblktogo4 13 0 to 8191 pixel location fourth toggle position for odd lines when hblkalt = 3 (usually resume1) hblktogo5 13 0 to 8191 pixel location fifth toggle position for odd lines when hblkalt = 3 (usually freeze2) hblktogo6 13 0 to 8191 pixel location sixth toggle position for odd lines when hblkalt = 3 (usually resume2)
ad9923a rev. 0 | page 21 of 88 hd hblk basic hblk pulse is generated using hblktoge1 and hblktoge2 registers (hblkalt = 0) blank blank hblktoge1 hblktoge2 06415-024 figure 26. typical horizontal blanking (hblk) pulse placement hd hblk the polarity of hl/h1/h3 during blanking are independently programmable (h2/h4 is opposite polarity of h1/h3) hl/h1/h3 h1/h3 h2/h4 ... ... 06415-025 figure 27. hblk masking polarity control hblk special h-blank pattern is created using multiple hblk toggle positions (hblkalt = 0) hl/h1/h3 h2/h4 hblktoge1 hblktoge2 hblktoge3 hblktoge4 hblktoge5 hblktoge6 0 6415-026 figure 28. using multiple toggle positions for hblk (hblkalt = 0)
ad9923a rev. 0 | page 22 of 88 generating hblk line alternation the ad9923a can alternate different hblk toggle positions on odd and even lines. this feature can be used in conjunction with v-pattern odd/even alternation, or on its own. when 1 is written to the hblkalt register, hblktoge1 and hblktoge2 are used on odd lines, and hblktoge3 to hblktoge6 are used on even lines. writing 2 to the hblkalt register gives the oppo- site result: hblktoge1 and hblktoge2 are used on even lines, and hblktoge3 to hblktoge6 are used on odd lines. when 3 is written to the hblkalt register, all six even toggle positions, hblktoge1 to hblktoge6, are used on even lines. there are also six additional toggle positions, hblktogo1 to hblktoge6, for odd lines. these registers are normally used for vpat group a, vpat group b, and freeze/resume functions, but when hblkalt = 3, these registers become the odd line toggle positions for hblk. another hblk feature is enabled by writing 4, 5, 6, or 7 to hblkalt. in these modes, the hblk pattern is generated using a different set of registershblkstart, hblkend, hblklen, and hblkrepalong with four toggle positions. this allows for multiple repeats of the hblk signal, as shown in figure 32 . hblk alternating h-blank pattern using hblkalt = 1 mode hl/h1/h3 h2/h4 hblktoge1 hblktoge2 hd hblktoge3 hblktoge4 hblktoge5 hblktoge6 odd line even line 06415-027 figure 29. hblk odd/even al ternation using hblkalt = 1 hblk alternating h-blank pattern using hblkalt = 2 mode hblktoge3 hblktoge5 hblktoge4 hblktoge6 hl/h1/h3 h2/h4 hd odd line even line hblktoge1 hblktoge2 06415-028 figure 30. hblk odd/even al ternation using hblkalt = 2
ad9923a rev. 0 | page 23 of 88 hblk alternating h-blank pattern using hblkalt = 3 mode. (freeze/resume function not available in this mode.) hblktogo1 hblktogo2 hblktogo3 hblktogo4 hl/h1/h3 h2/h4 hd odd line even line hblktoge1 hblktoge2 hblktoge3 hblktoge4 0 6415-029 figure 31. hblk odd/even al ternation using hblkalt = 3 hblk h-blank repeating pattern is created using hblklen and hblkrep registers hl/h1/h3 h2/h4 hblkstart hblktoge1 hblktoge2 hblkend hblktoge3 hblktoge4 hblklen hblkrep number 1 hblkrep number 2 hblkrep number 3 hblkrep = 3 06415-030 figure 32. hblk repeating pattern using hblkalt = 4 to 7
ad9923a rev. 0 | page 24 of 88 increasing h-clock width during hblk the ad9923a allows the h1 to h4 pulse width to be increased during the hblk interval. the h-clock pulse width can in- crease by reducing the h-clock frequency (see table 13 ). the hblkwidth register (register 0x35, bits[6:4]) is a 3-bit register that allows the h-clock frequency to be reduced by 1/2, 1/4, 1/6, 1/8, 1/10, 1/12, or 1/14. the reduced frequency only occurs for h1 to h4 pulses that are located within the hblk area. horizontal timing sequence example figure 33 shows an example of a ccd layout. the horizontal register contains 28 dummy pixels that occur on each line clocked from the ccd. in the vertical direction, there are 10 optical black (ob) lines at the front of the readout and two at the back of the readout. the horizontal direction has four ob pixels in the front and 48 ob pixels in the back. figure 34 shows the basic sequence layout to use during the effective pixel readout. the 48 ob pixels at the end of each line are used for clpob signals. pblk is optional and it is often used to blank the digital outputs during the noneffective ccd pixels. hblk is used during the vertical shift interval. the hblk, clpob, and pblk parameters are programmed in the v-sequence registers. more elaborate clamping schemes can be used, such as adding a separate sequence to clamp during the entire line of ob pixels. this requires configuring a separate v-sequence for reading the ob lines. the clpmaskstart and clpmaskend registers can be used to disable the clpob on a few lines without affecting the setup of the clamp sequences. horizontal ccd register effective image area 28 dummy pixels 48 ob pixels 4 ob pixels 10 vertical ob lines 2 vertical ob lines v h 06415-032 figure 33. ccd conf iguration example table 13. hblk width register register length (bits) range description hblkwidth 3 1 to 1/14 pixel rate controls h1 to h4 width during hblk as a fraction of pixel rate 0: same frequency as the pixel rate 1: 1/2 pixel frequency, that is, doubles the h1 to h4 pulse width 2: 1/4 pixel frequency 3: 1/6 pixel frequency 4: 1/8 pixel frequency 5: 1/10 pixel frequency 6: 1/12 pixel frequency 7: 1/14 pixel frequency vertical shift vert. shift ccdin shp shd hl/h1/h3 h2/h4 hblk pblk clpob optical black dummy effective pixels optical black optical black hd 0 6415-033 figure 34. horizontal sequence example
ad9923a rev. 0 | page 25 of 88 vertical timing generation the ad9923a provides a very flexible solution for generating vertical ccd timing; it can support multiple ccds and different system architectures. the 13-phase vertical transfer clocks, xv1 to xv13, are used to shift lines of pixels into the horizontal output register of the ccd. the ad9923a allows these outputs to be individually programmed into various readout configurations, using a four-step process as shown in figure 35 . 1. use the vertical pattern group registers to create the individual pulse patterns for xv1 to xv13. 2. use the v-pattern groups to build the sequences and add more information. 3. construct the readout for an entire field by dividing the field into regions and assigning a sequence to each region. each field can contain up to nine regions to accommodate different steps, such as high speed line shifts and unique vertical line transfers, of the readout. the total number of v-patterns, v-sequences, and fields are programmable and limited by the number of registers. high speed line shifts and unique vertical transfers are examples of the different steps required for readout. 4. use the mode register to combine fields in any order for various readout configurations. create the vertical pattern groups, up to four toggle positions for each output. xv1 xv2 xv11 xv12 xv1 xv2 xv3 xv3 xv11 xv12 vpat 0 vpat 1 1 use the mode register to control which fields are used, and in what order (maximum of seven fields may be combined in any order). field 3 field 4 field 0 field 1 field 2 field 5 field 1 field 4 field 2 4 build the v-sequences by adding start polarity, line start position, number of repeats, alternation , group a/b information, and hblk/clpob pulses. v-sequence 0 (vpat0, 1 rep) v-sequence 1 (vpat1, 2 rep) v-sequence 2 (vpat1, n rep) xv1 xv2 xv11 xv12 xv3 xv1 xv2 xv11 xv12 xv3 xv1 xv2 xv11 xv12 xv3 2 field 0 field 1 field 2 region 0: use v-sequence 2 region 1: use v-sequence 0 region 3: use v-sequence 0 region 4: use v-sequence 2 region 2: use v-sequence 3 3 build each field by dividing it into different regions and assigning a v-sequence to each (maximum of nine regions in each field). 06415-034 figure 35. summary of vertical timing generation
ad9923a rev. 0 | page 26 of 88 vertical pattern (vpat) groups a vertical pattern (vpat) group defines the individual pulse pattern for each xv1 to xv13 output signal. table 14 summarizes the registers that are available for generating each vpat group. the first, second, third, fourth, fifth, and sixth toggle positions (xvtog1, xvtog2, xvtog3, xvtog4, xvtog5, xvtog6) are the pixel locations where the pulse transitions. all toggle positions are 13-bit values that can be placed anywhere in the horizontal line. more registers are included in the vertical sequence registers to specify the output pulses: xv1pol to xv13pol specifies the start polarity for each signal, vstart specifies the start position of the vpat group, and vlen designates the total length of the vpat group, which determines the number of pixels between each pattern repetition, if repetitions are used. to achieve the best possible noise performance, ensure that vstart + vlen < the end of the h-blank region. toggle positions programmed to either pixel 0 or pixel 8191 are ignored. the toggle positions of unused xv-channels must be programmed to either pixel 0 or pixel 8191. this prevents unpre- dictable behavior because the default values of the v-pattern group registers are unknown. table 14. vertical pattern group registers register length (bits) range description xvtog1 13 0 to 8191 pixel location first toggle pos ition within line for each xv1 to xv12 output xvtog2 13 0 to 8191 pixel location second toggle position xvtog3 13 0 to 8191 pixel location third toggle position xvtog4 13 0 to 8191 pixel location fourth toggle position xvtog5 13 0 to 8191 pixel location fifth toggle position xvtog6 13 0 to 8191 pixel location sixth toggle position hd xv1 programmable settings: 1 start polarity (located in v-sequence registers). 2 first toggle position. 3 second toggle position (a total of six toggle positions also available for more complex patterns). 4 total pattern length for all vertical outputs (located in vertical sequence registers). start position of vertical pattern group is programmable in vertical sequence registers. 4 1 2 3 xv2 1 23 x v12 1 2 3 06415-035 figure 36. vertical pattern group programmability
ad9923a rev. 0 | page 27 of 88 vertical sequences (vseq) a vertical sequence (vseq) is created by selecting one of the v-pattern groups and adding repeats, a start position, and horizontal clamping and blanking information. each vseq is programmed using the registers shown in table 15 . figure 37 shows how each register is used to generate a v-sequence. the vpatsela and vpatselb registers select the v-pattern group that is used in a given v-sequence. having two groups available allows each vertical output to be mapped to a different v-pattern group. the selected v-pattern group can have repetitions added for high speed line shifts or line binning by using the vrep registers for odd and even lines. generally, the same number of repetitions is programmed into both registers. if a different number of repetitions is required on odd and even lines, separate values can be used for each register (see the generating line alternation for v-sequences and hblk section). the vstarta and vstartb registers specify the pixel location where the v-pattern group starts. the vmask register is used in conjunction with the freeze/resume registers to enable optional masking of the xv outputs. either or both of the freeze1/resume1 and freeze2/resume2 registers can be enabled. the line length (in pixels) is programmable using the hdlen registers. each v-sequence can have a different line length to accommodate various image readout techniques. the maximum number of pixels per line is 8192. note that the last line of the field can be programmed separately using the hdlast register, located in the field register (see table 16 ). vrep 3 hd x v1 to xv13 programmable settings for each vertical sequence: 1 start position in the line of selected v-pattern group. 2 hd line length. 3 v-pattern select (vpatsel) to select any v-pattern group. 4 number of repetitions of the v-pattern group (if needed). 5 start polarity and toggle positions for clpob and pblk signals. 6 masking polarity and toggle positions for hblk signal. v-pattern group 1 3 clpob pblk hblk 2 44 vrep 2 5 6 06415-036 figure 37. v-sequence programmability
ad9923a rev. 0 | page 28 of 88 table 15. v-sequence registers 1 register length (bits) range description hold 1 on/off use in conjunction with vmask. 1 = hold instead of freeze/resume. vmask 2 0 to 3 mask mode enables the masking of xv1 to xv13 o utputs at the locations specified by the freeze/resume registers. 0 = no mask. 1 = enable freeze1/resume1. 2 = enable freeze2/resume2. 3 = enable both freeze1/resume1 and freeze2/resume2. hdlen 13 0 to 8191 pixels hd line length in each v-sequence. xv1pol to xv13pol 1 high/low start polarity for each xv1 to xv13 output. groupsel 12 1b for each xv output assigns each xv1 to xv13 output to either v-pattern group a or v-pattern group b. 0 = assigns to vpatsela. 1 = assigns to vpatselb. two_group 1 high/low when high, all xv outputs combine group a and group b. vpatsela 5 0 to 31 v-pattern number selected v-pattern for group a. vpatselb 5 0 to 31 v-pattern number selected v-pattern for group b. if spvtp_enable = 1, vpatselb is used for second vtp inserted in spvtp_actline. vpata_mode 2 0 to 3 repetition mode selects alternation repetition mode for group a only. 0 = disable alternation, use vrepa_1 for all lines. 1 = 2-line. alternate vrepa_1 and vrepa_2 (same as odd/even). 2 = 3-line. alternate vrepa_1, vrepa_2, and vrepa_3. 3 = 4-line. alternate vrepa_1, vrepa_2, vrepa_3, and vrepa_4. vstarta 13 0 to 8191 pixel location start position for the selected v-pattern group a. vstartb 13 0 to 8191 pixel location start position for the selected v-pattern group b. if spvtp_enable = 1, vstartb is used for start position of vpatselb in spvtp_actline. vlena 13 0 to 8191 pixels length of selected v-pattern group a. vlenb 13 0 to 8191 pixels length of selected v-pattern group b. vrepb_odd 12 0 to 4095 repeats number of repetitions for the v-pattern group b for odd lines. if no alternation is required for group b, set vrepb_odd equal to vrepb_even. vrepb_even 12 0 to 4095 repeats number of repetitions for the v-pattern group b for even lines. if no alternation is required for group b, set vrepb_even equal to vrepb_odd. vrepa_1 12 0 to 4095 repeats number of repetition s for the v-pattern group a for first lines (odd). vrepa_2 12 0 to 4095 repeats number of repetitions for the v-pattern group a for second lines (even). vrepa_3 12 0 to 4095 repeats number of repetitions for the v-pattern group a for third lines. vrepa_4 12 0 to 4095 repeats number of repetitions for the v-pattern group a for fourth lines. freeze1 13 0 to 8191 pixel location pixel location where the xv outputs freeze or hold (see vmask). resume1 13 0 to 8191 pixel location pixel location where the xv outputs resume operation (see vmask). freeze2 13 0 to 8191 pixel location pixel location where the xv outputs freeze or hold (see vmask). resume2 13 0 to 8191 pixel location pixel location where the xv outputs resume operation (see vmask). spvtp_actline 12 0 to 4095 line location active line for second vtp insertion. spvtp_enable 1 high/low when high, second vtp is inserted into spvtp_actline. 1 see table 11 and table 12 for clpob, pblk, and hblk registers.
ad9923a rev. 0 | page 29 of 88 group a/group b selection the ad9923a has the flexibility to use two v-pattern groups in a vertical sequence. in general, all vertical outputs use the same v-pattern group during a sequence, but some outputs can be assigned to a different v-pattern group. this is useful during certain ccd readout modes. the groupsel register is used to select group a or group b for each xv output (the lsb is xv1, the msb is xv13). setting each bit to 0 selects group a; setting each bit to 1 selects group b. if only a single v-pattern group is needed for the vertical outputs, group a is used by default (groupsel = 0), and the outputs use the v-pattern group specified by the vpatsela register. if group b flexibility is needed, the outputs set to 1 in the groupsel register use the v-pattern group selected by the vpatselb register. for example, figure 38 shows outputs xv12 and xv13 using a separate v-pattern group b to perform special ccd timing. another application of the group a and group b registers is to combine two vpat groups for more complex patterns. this is achieved by setting the two_group register to 1. figure 39 shows an example of this timing. when two_group = 1, the group a and group b toggle positions are both used. in addition, length, starting polarity, and number of repetitions are all determined by the appropriate registers for group a when two_group = 1. figure 40 shows the more complex operation of combining group a and group b with repetition. xv1 xv11 hd xv12 optional hold area for group a xv13 xv1 to xv11 use v-pattern group a xv12, xv13 use v-pattern group b 06415-037 figure 38. using separate group a and group b patterns xv1 xv13 hd v-pattern group a v-pattern group b 06415-038 figure 39. combining grou p a and group b patterns xv1 xv13 hd v-pattern group a v-pattern group b group a rep 1 group a rep 2 group a rep 3 0 6415-039 figure 40. combining group a and gr oup b patterns, with repetition
ad9923a rev. 0 | page 30 of 88 generating line alternation for v-sequences and hblk during low resolution readout, some ccds require a different number of vertical clocks on alternate lines. the ad9923a can support such ccds by using different vrep registers. this allows a different number of vpat repetitions to be programmed on odd and even lines. note that only the number of repeats is different in odd and even lines, but the vpat group remains the same. there are separate controls for the assigned group a and group b patterns. both group a and group b can support odd and even line alternation. group a uses the vrepa_1 and vrepa_2 regis- ters; group b uses the vrepb_odd and vrepb_even registers. group a can also support three-line and four-line alternation by using the vrepa_3 and vrepa_4 registers. additionally, the hblk signal can be alternated for odd and even lines. when the hblkalt = 1, the hblktoge1 and hblktoge2 positions are used on odd lines, and the hblktoge3 to hblktoge6 positions are used on even lines. this allows the hblk interval to be adjusted on odd and even lines if needed. figure 41 shows an example of simultaneous vpat repetition alternation and hblk alternation. both types of alternation can be used separately. xv1 xv2 vrepa_1 = 2 (or vrepb_odd = 2) vrepa_2 = 5 (or vrepb_even = 5) vrepa_1 = 2 (or vrepb_odd = 2) xv13 hd notes 1. the number of repeats for v-pattern group a or group b can be alternated on odd and even lines. 2. group a also supports 3-line and 4-line alternation using the additional vrepa_3 and vrepa_4 registers. 3. the hblk toggle positions can also be alternated between odd and even lines to generate different hblk patterns for odd/even lines. see the horizontal clamping and blanking section for more information on hblk. hblk hblktoge1 hblktoge2 hblktoge3 hblktoge4 hblktoge1 hblktoge2 06415-040 figure 41. odd/even line alternation of vpat repetitions and hblk toggle positions
ad9923a rev. 0 | page 31 of 88 masking using freeze/resume registers as shown in figure 42 and figure 43 , the freeze/resume registers are used to temporarily mask the xv outputs. the pixel locations to start (freeze) and end (resume) the masking create an area in which the vertical toggle positions are ignored. at the pixel location specified in the freeze register, the xv outputs are held static at their current dc state, high or low. the xv outputs are held until the internal pixel counter reaches the pixel location specified by the resume register, at which point the signals continue with any remaining toggle positions. two sets of freeze/resume registers are provided, allowing the vertical outputs to be interrupted twice in the same line. the freeze and resume positions are enabled using the vmask register. it is not recommended to use freeze/resume at the same time as the sweep function. xv1 x v13 hd no masking area 0 6415-041 figure 42. not using freeze/resume xv1 xv13 hd notes 1. all toggle positions within the freeze-resume masking area are ignored. h-counter continues to count during masking. 2. two separate masking areas are available for each group a, using freeze1/resume1 and freeze2/resume2 registers. masking area for group a freeze resume 06415-042 figure 43. using freeze/resume
ad9923a rev. 0 | page 32 of 88 hold area using freeze/resume registers the freeze/resume registers can also be used to create a hold area, in which the xv outputs are temporarily held and then later resume at the point where they were held. as shown in figure 44 , this is different than using the vmask register, because the xv outputs continue from where they stopped (as opposed to having the pixel counter run continuously), with any toggle positions that fall between the freeze and resume locations being ignored. signals assigned to group b are not affected by the hold area. xv1 x v11 hd notes 1. when hold = 1 for any v-sequence, the freeze and resume registers are used to specify the hold area for group a. 2. above example: all xv-outputs are assigned to group a. 3. h-counter for group a (xv1 to xv13) stops during hold area. x v12 hold area for group a x v13 freeze resume 06415-043 figure 44. hold area for group a xv1 x v11 hd notes 1. above examples: xv12 and xv13 are assigned to group b. 2. group b does not use hold area. x v12 hold area for group a x v13 no hold area for group b freeze resume 06415-044 figure 45. group b does not use hold area
ad9923a rev. 0 | page 33 of 88 complete field: co mbining v-sequences after the v-sequences are created, they are combined to create different readout fields. a field consists of up to nine regions. within each region, a different v-sequence can be selected. figure 46 shows how the sequence change position (scp) registers designate the line boundary for each region and how the vseqsel registers select the v-sequence for each region. registers to control the vsg outputs are also included in the field registers. table 16 summarizes the registers used to create the different fields. the vseqsel registers, one for each region, select which v-sequences are active during each region. the sweep registers can enable the sweep mode during any region. the multi registers are used to enable the multiplier mode during any region. the scp registers create the line boundaries for each region. the vdlen register specifies the total number of lines in the field. the total number of pixels per line (hdlen) is specified in the v-sequence registers, and the hdlast register specifies the number of pixels in the last line of the field. hdlen, vdlen, hdlast registers are ignored when the part is in slave mode. the vpatsecond register is used to add a second v-pattern group to the xv1 to x12 outputs during the sensor gate (vsg) line. the sgmask register is used to enable or disable each vsg output. there are two bits for each vsg output to enable separate masking during sgactline1 and sgactline2. setting a masking bit high disables, or masks, the output; setting it low enables the output. the sgpatsel register assigns one of the eight sg patterns to each vsg output. each sg pattern is created separately using the sg pattern registers. the sgactline1 register specifies which line in the field contains the vsg outputs. the optional sgactline2 register allows the same vsg pulses to repeat on a different line, although separate masking is available for sgactline1 and sgactline2. table 16. field registers register length (bits) range description vseqsel 5 0 to 31 v-sequence number selected v-sequence for each region in the field. sweep 1 high/low enables sweep mode for each region when set high. multi 1 high/low enables multiplier mode for each region when set high. scp 12 0 to 4095 line number sequence change position (scp) for each region. vdlen 12 0 to 4095 lines total number of lines in each field. hdlast 13 0 to 8191 pixels length in pixels of the last hd line in each field. vstartsecond 13 0 to 8191 pixels start position of the second v-pattern group applied during vsg line. vpatsecond 5 0 to 31 v-pattern group number selected v-pattern group for the second pattern applied during vsg line. sgmask 16 high/low, each vsg set high to mask each vsg output. two bi ts for each vsg output: one for sgline1, and one for sgline2. [0] masking for vsg1 on sgline1. [1] masking for vsg1 on sgline2. [2] masking for vsg2 on sgline1. [3] masking for vsg2 on sgline2. [15] masking for vsg8 on sgline1. [16] masking for vsg8 on sgline2. sgpatsel 24 0 to 7 pattern number, each vsg selects the vsg pattern number for each vsg output. vsg1[2:0], vsg2[5:3], vsg3[8:6], vsg4[11:9], vsg5[14:12], vsg6[17:15], vsg7[20:18], vsg8[23:21]. sgactline1 12 0 to 4095 line number selects the line in the field where the vsg is active. sgactline2 12 0 to 4095 line number selects a second line in the field to repeat the vsg signals.
ad9923a rev. 0 | page 34 of 88 vd region 0 field settings: 1. sequence change positions (scp1 to scp8) define each of the nine available re gions in the field. 2. vseqsel0 to vseqsel8 selects the desired v-sequence for each region. 3. sgline1 register selects which hd line in the field contains the sensor-gate pulse(s). xv1 to xv13 hd scp 1 scp 2 vseqsel0 vseqsel1 scp 3 vseqsel2 scp 4 vseqsel3 scp 5 vseqsel4 scp 8 vseqsel8 region 1 region 2 region 3 region 4 region 8 vsg sgactline scp 0 06415-045 figure 46. complete field is divided into regions second v-pattern group during vsg active line and special v-pattern insertion most ccds require additional vertical timing during the sensor gate line. the ad9923a can output a second v-pattern group for xv1 to xv13 during the line when the vsg1 to vsg8 sensor gates are active. figure 47 shows a typical vsg line, which includes two sets of v-pattern groups for xv1 to xv13. at the start of the vsg line, the v-pattern group is selected using the appropriate vseqsel register. the second v-pattern group, unique to the vsg line, is selected using the vpatsecond register, located in the field registers. the start position of the second vpat group uses the vstartsecond register. for more information, see table 16 . in addition to inserting a second v-pattern into the vsg line, the ad9923a can insert a second v-pattern into any other single line in each sequence. to enable this function in a par- ticular sequence, set the spxv_en register in the appropriate set of sequence registers to 1. the spxv_act register determines the active line for the special second v-pattern. the vpatselb and vstartb registers control both the v-pattern used and the starting pixel location of the special second v-pattern. for more information, see table 17 . to avoid undesired behavior, do not use the special second v-pattern in the vsg line; use the existing vpatsecond and vstartsecond registers to insert a second v-pattern into the vsg line. it is recommended that vpatsecond and vstartsecond registers are used to create complex timing in the sensor gate line and not the groupb registers. additionally, given that the special second v-pattern insertion uses some of the group b registers, the user cannot use the special second v-pattern insertion function and group b in the same sequence. table 17. special second v-pattern insertion register length (bits) range description spxv_en 1 0 or 1 0 = off, 1= enable special second v-pattern insertion. spxv_act 12 line 0 to line 4095 active line for special second v-pattern insertion. vpatselb 5 0 to 31 v-pattern number selected v-pattern for special second v-pattern insertion if spxv_en = 1. vstartb 13 0 to 8191 pixel location start position for selected v-pattern for special second v-pattern insertion if spxv_en = 1. sweep mode operation the ad9923a contains an additional mode of vertical timing operation called sweep mode. this mode is used to generate a large number of repetitive pulses that span across multiple hd lines. normally, the vertical timing of the ad9923a must be contained within one hd line length, but when sweep mode is enabled, the hd boundaries are ignored until the region is finished. this is useful, for example, in ccd readout operations. depending on the vertical resolution of the ccd, up to 3000 clock cycles, spanning across several hd line lengths, can be required to shift charge out of the vertical interline ccd registers. these registers must be free of all charge at the end of the image exposure before the image is transferred. this can be accom- plished in sweep mode by quickly shifting out any charge using a long series of pulses from the xv1 to xv13 outputs. to enable sweep mode in any region, program the appropriate sweep register to high.
ad9923a rev. 0 | page 35 of 88 xv1 xv2 xv13 hd vsg second vpat group start position for second vpat group uses vstartsecond register 06415-046 figure 47. example of second vpat group during sensor gate line vd xv1 to xv13 hd region 1: sweep region line 0 line 1 region 0 region 2 line 24 line 25 line 2 scp 1 scp 2 0 6415-047 figure 48. example of sweep region for high speed vertical shift figure 48 shows an example of sweep mode operation. the number of required vertical pulses depends on the vertical resolution of the ccd. the xv1 to xv13 output signals are generated using the v-pattern registers (shown in table 14 ). a single pulse is created using the polarity and toggle position registers. the number of repetitions is then programmed to match the number of vertical shifts required by the ccd. repetitions are programmed in the v-sequence registers using the vrep registers. this produces a pulse train of the appropriate length. normally, the pulse train is truncated at the end of the hd line length, but with sweep mode enabled, the hd boundaries are ignored. in figure 48 , the sweep region occupies 23 hd lines. after the sweep mode region is complete, normal sequence operation resumes in the next region. when using sweep mode, set the region boundaries, using the sequence change position registers, to the appropriate lines to prevent the sweep operation from overlapping with the next v-sequence. multiplier mode to generate very wide vertical timing pulses, a vertical region can be configured into a multiplier region. this mode uses the v-pattern registers in a slightly different manner. multiplier mode can be used to support unusual ccd timing requirements, such as vertical pulses that are wider than the 13-bit v-pattern toggle position counter. the start polarity and toggle positions are used in the same manner as the standard vpat group programming, but the vlen register is used differently. instead of using the pixel counter (hd counter) to specify the toggle position locations (xvtog1, xvtog2, xvtog3, xvtog4, xvtog5, and xvtog6) of the vpat group, the vlen value is multiplied by the xvtog value to allow very long pulses to be generated. to calculate the exact toggle position, counted in pixels after the start position, use the following equation: multiplier mode toggle position = xvtog vlen because the xvtog value is multiplied by the vlen value, the resolution of the toggle position placement is reduced. if vlen = 4, the toggle position accuracy is reduced to four pixel steps, instead of single pixel steps. table 1 8 summarizes how the vpat group registers are used in multiplier mode operation. in multiplier mode, the vrep registers should be programmed to the value of the highest toggle position. the example shown in figure 49 illustrates this operation. the first toggle position is 2, and the second toggle position is 9. in nonmultiplier mode, this causes the v-sequence to toggle at
ad9923a rev. 0 | page 36 of 88 pixel 2 and pixel 9 within a single hd line. however, in multiplier mode the toggle positions are multiplied by vlen = 4; therefore, the first toggle occurs at pixel count = 8, and the second toggle occurs at pixel count = 36. sweep mode is also enabled to allow the toggle positions to cross the hd line boundaries. the multi function only applies to signals assigned to group a. it cannot be used at the same time as the twogroup function or if any signals are assigned to group b. table 18. multiplier mode register parameters register length (bits) range description multi 1 high/low high enables multiplier mode xvpol 1 high/low starting polarity of xv1 to xv13 signals in each vpat group xvtog 13 0 to 8191 pixel location toggle positions for xv1 to xv13 signals in each vpat group vlen 13 0 to 8191 pixels used as multip lier factor for toggle position counter vrep 12 0 to 4095 vrepe/vrepo should be set to the value of the highest xvtog value xv1 to xv13 hd vlen multiplier mode v-pattern group properties: 1 start polarity (above: startpol = 0). 2 first and second toggle positions (above: xvtog1 = 2, xvtog2 = 9). 3 length of vpat counter (above: vpatlen = 4); this is the minimum resolution for toggle position changes. 4 toggle positions occur at location equal to (xvtog vpatlen). 5 if sweep region is enabled, the v-pulses may also cross the hd boundries, as shown above. 1234123412341234123412341234123412341234 start position of vpat group is still programmed in the v-sequence registers pixel number 12345678910111213141516171819202122232425262728293031323334353637383940 3 55 4 1 2 4 2 0 6415-048 figure 49. example of multiplier region for wide vertical pulse timing
ad9923a rev. 0 | page 37 of 88 vertical sensor gate (shift gate) patterns in an interline ccd, the vertical sensor gates (vsg) are used to transfer the pixel charges from the light sensitive image area into the light shielded vertical registers. from the light shielded vertical registers, the image is then read line-by-line using the xv1 to xv13 vertical transfer pulses in conjunction with the high speed horizontal clocks. table 19 summarizes the vsg pattern registers. the ad9923a has eight vsg outputs, vsg1 to vsg8. each output can be assigned to one of eight programmed patterns by using the sgpatsel register. each pattern is generated in a similar manner as the v-pattern groups, with a programmable start polarity (sgpol), first toggle position (sgtog1), and second toggle position (sgtog2). the active line where the vsg1 to vsg8 pulses occur is programmable using the sgactline1 and sgactline2 registers. additionally, any of the vsg1 to vsg8 pulses can be individually disabled using the sgmask register. the individual masking allows all sg patterns to be preprogrammed, and the appropriate pulses for each field can be separately enabled. for maximum flexibility, the sgpatsel, sgmask, and sgactline registers are separately programmable for each field. more detail is given in the complete field: combining v-sequences section. additionally, there is the sgmask_byp register (address 0x59) that overrides sg masking in the field registers. the sgmask_byp register allows sensor gate masking to be changed without modifying the field register values. the sgmask_byp register is sck updated; therefore, the new sg-masking values update immediately. table 19. vsg pattern registers 1 register length (bits) range description sgpol 1 high/low sensor gate starting polarity for sg patterns 0 to 7. sgtog1 13 0 to 8191 pixel location first toggle position for sg patterns 0 to 7. sgtog2 13 0 to 8191 pixel location second toggle position for sg patterns 0 to 7. sgmask_byp 8 high/low for each vsg sgmask bypass. this register overrides the sgmask values in each field register. one bit for each output, where bit[0] is for vsg1 output and bit 7 is for vsg8 output. 0 = active. 1 = mask output. sgmask_byp_en 1 0 or 1 1: enables sgmask bypass. 1 see field registers in table 16. vd hd programmable settings for each pattern: 1 start polarity of pulse. 2 first toggle position. 3 second toggle position. 4 active line for vsg pulses within the field (programmable in the field register, not for each pattern). vsg patterns 4 12 3 0 6415-049 figure 50. vertical sensor gate pulse placement
ad9923a rev. 0 | page 38 of 88 mode register the mode register is a single register that selects the field timing of the ad9923a. typically, all field, v-sequence, and v-pattern group information is programmed into the ad9923a at startup. during operation, the mode register allows the user to select any combination of field timing to meet the current requirements of the system. using the mode register in conjunction with preprogrammed timing greatly reduces the system programming requirements during camera operation. only a few register writes are required when the camera operating mode is changed rather than having to rewrite the vertical timing information with each camera mode change. a basic still camera application can require five fields of vertical timingone for draft mode operation, one for autofocusing, and three for still image readout. the register timing information for the five fields is loaded at startup. depending on how the camera is being used, the mode register selects which field timing is active during camera operation. table 20 shows how the mode register bits are used. unlike other registers, the mode register uses 10 address bits as data bits to increase the total register size to 38 bits. the address msbs, a11 and a10, are 1 and 0, respectively, and are used to specify the mode register write. the three msbs, d37, d36, and d35 are used to specify the number of fields used. a value from 1 to 7 can be selected using these three bits. the remaining register bits are divided into five-bit sections to select which programmed fields are used and in which order. up to seven fields can be used in a single mode write. the ad9923a starts with the field timing specified by the first field bit, and switches to the timing specified by the second field bit on the next vd, and so on. after completing the number of fields specified in bit d37 to bit d35, the timing generator of the ad9923a repeats itself by starting at the first field. this continues until a new write to the mode register occurs. figure 51 shows mode register settings for various field configurations. table 20. mode register contentsvd updated address (binary) data bits default value description 12b10_xx_xxxx_xxxx [37:0] 0 a11, a10 must be set to 0x10; remaining a9:a0 bits used for d37:d28 [37:35] number of fields (maximum of seven) [34:30] selected field for field 7 [29:25] selected field for field 5 [24:20] selected field for field 6 [19:15] selected field for field 4 [14:10] selected field for field 3 [9:5] selected field for field 2 [4:0] selected field for field 1 example 1: total fields = 3, first field = field 0, second field = field 1, third field = field 2 mode register contents = 0x9800000820 example 2: total fields = 1, first field = field 3 mode register contents = 0x8800000003 example 3: total fields = 4, first field = field 5, second field = field 1, third field = field 4, fourth field = field 2 mode register contents = 0xa000011025 field 3 field 0 field 1 field 2 field 5 field 1 field 4 field 2 06415-050 figure 51. using the mode register to select field timing
ad9923a rev. 0 | page 39 of 88 vertical timing example to better understand how the ad9923a vertical timing generation is used, consider the example ccd timing chart in figure 52 . it illustrates a ccd using a general three-field readout technique. as described in the complete field: combining v-sequences section, each readout field should be divided into separate regions to perform each step of the readout. the sequence change position (scp) registers deter- mine the line boundaries for each region. then, the vseqsel registers assign a v-sequence to each region. each v-sequence contains specific timing information required for each region: xv1 to xv6 pulses (using vpat groups), hblk/clpob timing, and vsg patterns for the sg active lines. the example shown in figure 52 requires four regions, labeled region 0, region 1, region 2, and region 3, for each of the three fields. because the ad9923a allows many individual fields to be programmed, field 0, field 1, and field 2 can be created to meet the requirements of this timing example. in this example, the four regions for each field are very similar, but the individual registers for each field allow flexibility to accommodate more complex timing requirements. region 0 region 0 is a high speed vertical shift region. sweep mode can be used to generate this timing operation, with the desired number of high speed vertical pulses needed to clear any charge from the vertical registers of the ccd. region 1 region 1 consists of two lines and uses standard, single line, vertical shift timing. the timing of this region is the same as the timing of region 3. region 2 region 2 is the sensor gate line, where the vsg pulses transfer the image into the vertical ccd registers. this region might require use of the second v-pattern group for the sg active line. region 3 region 3 also uses the standard, single line, vertical shift timing, the same timing used in region 1. in summary, four regions are required in each of the three fields. the timing for region 1 and region 3 is essentially the same, reducing the complexity of the register programming. other registers, such as the mode register, shutter control registers (that is, trigger, and the registers to control the subck, vsub, mshut, and strobe outputs), and the afe gain registers, vgagain and cdsgain, must be used during the readout operation. these registers are explained in the mode register and variable gain amplifier sections.
ad9923a rev. 0 | page 40 of 88 06415-051 vd hd xv1 xv2 xv5 xv6 subck mshut vsub ccd out exposure (t exp ) first field readout region 1 region 2 region 0 region 3 1 4 7 10 13 16 n?5 n?2 closed 2 5 8 11 14 17 20 n?4 n?1 open xv3 xv4 open 3 6 9 12 15 18 21 n?3 n region 1 region 2 region 0 region 3 region 1 region 2 region 0 region 3 second field readout third field readout field 0 field 1 field 2 figure 52. ccd timing exampledividing each field into regions
ad9923a rev. 0 | page 41 of 88 vertical driver signal configuration as shown in figure 53 , xv1 to xv13, vsg1 to vsg8, and xsubck are outputs from the internal ad9923a timing generator, and v1 to v13 and subck are the resulting outputs from the ad9923a vertical driver. when vdr_en = high, the vertical driver mixes the xv and vsg pulses and amplifies them to the high voltages required for driving the ccd. table 2 1 through table 3 6 describe the output polarities for these signals vs. their input levels. refer to these tables when determining the register settings for the desired output levels. note that when vdr_en = low, v1 to v13 are forced to vm and subck is forced to vll. the vdr_en pin takes priority over the xv and vsg signals coming from the timing generator. the vdr_en pin can be driven either with an external 3 v logic signal or by one of the ad9923a shutter outputs (mshut, vsub, strobe). to make the ad9923a compatible with existing ad9923 designs, drive the vdr_en pin with a diode to either an external 3 v logic signal or to one of the shutter outputs. ad9923a v-driver 3v vh vl v13 xv13 v10 xv10 v9 xv9 v8 xv8 v6 xv6 v4 xv4 v2 xv2 xv1 vsg1 v1 xv11 vsg2 v11 xv3 vsg3 v3 xv12 vsg4 v12 vsg5 vsg6 xv5 v5a v5b vsg7 vsg8 xv7 v7a v7b 2-level outputs 3-level outputs xsubck xsubcnt subck vdr_en internal timing generator 06415-052 figure 53. internal vertical driver input signals
ad9923a rev. 0 | page 42 of 88 table 21. v1 output polarity vertical driver input xv1 vsg1 v1 output l l vh l h vm h l vl h h vl table 22. v3 output polarity vertical driver input xv3 vsg3 v3 output l l vh l h vm h l vl h h vl table 23. v5a output polarity vertical driver input xv5 vsg5 v5a output l l vh l h vm h l vl h h vl table 24. v5b output polarity vertical driver input xv5 vsg6 v5b output l l vh l h vm h l vl h h vl table 25. v7a output polarity vertical driver input xv7 vsg7 v7a output l l vh l h vm h l vl h h vl table 26. v7b output polarity vertical driver input xv7 vsg8 v7b output l l vh l h vm h l vl h h vl table 27. v11 output polarity vertical driver input xv11 vsg2 v11 output l l vh l h vm h l vl h h vl table 28. v12 output polarity vertical driver input xv12 vsg4 v12 output l l vh l h vm h l vl h h vl table 29. v2 output polarity vertical driver input xv2 v2 output l vm h vl table 30. v4 output polarity vertical driver input xv4 v4 output l vm h vl table 31. v6 output polarity vertical driver input xv6 v6 output l vm h vl table 32. v8 output polarity vertical driver input xv8 v8 output l vm h vl table 33. v9 output polarity vertical driver input xv9 v9 output l vm h vl
ad9923a rev. 0 | page 43 of 88 table 34. v10 output polarity vertical driver input xv10 v10 output l vm h vl table 35. v13 output polarity vertical driver input xv13 v13 output l vm h vl table 36. subck output polarity vertical driver input xsubck xsubcnt subck output l l vh l h vh h l vmm h h vll xv1 v 1 vsg1 vh vm vl 06415-053 figure 54. xv1, vsg1, and v1 output polarities xv11 v11 vsg2 vh vm vl 06415-054 figure 55. xv11, vsg2, an d v11 output polarities xv3 v3 vsg3 vh vm vl 06415-055 figure 56. xv3, vsg3, and v3 output polarities
ad9923a rev. 0 | page 44 of 88 xv12 v12 vsg4 vh vm vl 06415-056 figure 57. xv12, vsg4, an d v12 output polarities xv5 v5a vsg5 vh vm vl 06415-057 figure 58. xv5, vsg5, and v5a output polarities xv5 v 5b vsg6 vh vm vl 06415-058 figure 59. xv5, vsg6, and v5b output polarities xv7 v 7 a vsg7 vh vm vl 06415-059 figure 60. xv7, vsg7, and v7a output polarities
ad9923a rev. 0 | page 45 of 88 xv7 v 7b vsg8 vh vm vl 06415-060 figure 61. xv7, vsg8, and v7b output polarities xv2, xv4, xv6, xv8 xv9, xv10, xv13 vm v2, v4, v6, v8 v9, v10, v13 vl 0 6415-061 figure 62. xv2, xv4, xv6, xv8, xv9, xv10, xv13 and v2, v4, v6, v8, v9, v10, v13 output polarities xsubcnt subck xsubck vh vmm vll 06415-062 figure 63. xsubcnt, xsubck, and subck output polarities shutter timing control the ccd image exposure time is controlled by the substrate clock signal (subck) that pulses the ccd substrate to clear out accumulated charge. the ad9923a supports three types of electronic shuttering: normal, high precision, and low speed. together with the subck pulse placement, the ad9923a can accommodate different readout configurations to further suppress the subck pulses during multiple field readouts. the ad9923a also provides programmable outputs to control an external mechanical shutter (mshut), strobe/flash (strobe), and ccd bias select signal (vsub). up to four general shutter pulses (shut0 to shut3) and two vsub pulses (vsub0 and vsub1) can be programmed and assigned to any of the three shutter output pins. the user can also combine the following shutter and vsub pulses with a logic xor operation (symbolized by ^) to generate more complex timing (up to four toggle posi- tions per line) for mshut, strobe and vsub: shut0 ^ vsub0, shut0 ^ vsub1, shut0 ^ shut1, and shut0 ^ shut2. subck: three-level output the ad9923a supports a three-level output from the subck buffer: vh, vmm, and vll. the vh power supply is shared with the v-driver outputs, but vmm and vll are dedicated mid and low supplies for the subck buffer. there are two in- puts to the subck buffer, xsubck and xsubcnt. xsubcnt is created by an internal multiplexer that selects from xv1 to xv13, vsg1 to vsg8, mshut, strobe, vsub, shut0 to shut3, fg_trig, high and low.
ad9923a rev. 0 | page 46 of 88 table 37. xsubcnt multiplexer register length (bits) range description xsubcnt_mux 5 0 to 31 selects internal signal to be used for xsubcnt 0: xv6 1: xv8 2: xv9 3: xv10 4: vsg5 5: vsg6 6: vsg7 7: vsg8 8: vsg2 9: vsg3 10: vsg4 11: vsg1 12: xv13 13: vsub 14: mshut 15: strobe 16: xv1 17: xv2 18: xv3 19: xv4 20: xv5 21: xv7 22: xv11 23: xv12 24: shut0 25: shut1 26: shut2 27: shut3 28: fg_trig 29: invalid setting 30: high 31: low subck: normal operation by default, the ad9923a operates in a normal subck configu- ration with the subck signal pulsing in every vd field (see figure 64 ). the subck pulse occurs once per line, and the total number of repetitions within the field determines the exposure time. the subck pulse polarity and toggle positions within a line are programmable, using the subckpol and subck1tog registers (see table 38 ). the number of subck pulses per field is programmed in the subcknum register (address 0x64). as shown in figure 64 , the subck pulses always begin in the line following the sg active line (specified in the sgactline registers for each field). the subckpol, subck1tog, subck2tog, subcknum, and subcksuppress registers are updated at the start of the line after the sensor gate line, as described in the updating new register values section. subck: high precision operation high precision shuttering is used in the same manner as normal shuttering, but an additional register is used to control the last subck pulse. in this mode, the subck pulses once per line, but the last subck in the field has an additional subck pulse, whose location is determined by the subck2tog register, as shown in figure 65 . finer resolution of the exposure time is possible using this mode. leaving the subck2tog register set to its maximum value (0xffffff) disables the last subck pulse (default setting). subck: low speed operation normal and high precision shutter operations are used when the exposure time is less than one field long. for exposure times longer than one field interval, low speed shutter operation is used. the ad9923a uses a separate exposure counter to achieve long exposure times. the number of fields for the low speed shutter operation is specified in the exposurenum register (address 0x63). as shown in figure 66 , this shutter mode suppresses the subck and vsg outputs from 0 fields up to 4095 fields (vd periods). the vd and hd outputs can be suppressed during the exposure period by programming the vdhdoff register to 1. to generate a low speed shutter operation, trigger a long ex- posure by writing to the trigger register, bit d3. when this bit is set high, the ad9923a begins an exposure operation at the next vd edge. if a value greater than 0 is specified in the exposurenum register, the ad9923a suppresses the subck output on subsequent fields. if the exposure is generated using the trigger register and the exposurenum register is set to 0, the behavior of the subck is the same as during normal shutter or high precision shutter operations, in which the trigger register is not used.
ad9923a rev. 0 | page 47 of 88 vd subck subck programmable settings: 1. pulse polarity using the subckpol register. 2. number of pulses within the field using the subcknum register (subnum = 3 in the above example). 3. pixel location of pulse within the line and pulse width programmed using the subck1tog register. t exp vsg hd t exp 06415-063 figure 64. normal shutter mode vd subck notes 1. second subck pulse is added in the last subck line. 2. location of second pulse is fully programmable using the subck2tog register. vsg hd t exp t exp 0 6415-064 figure 65. high precision shutter mode vd s ubck notes 1. subck can be suppressed for multiple fields by programming the exposure register to be greater than 0. 2. above example uses exposure = 1. 3. trigger register must also be used to start the low speed exposure. 4. vd/hd outputs can also be suppressed using the vdhdoff register = 1. vsg trigger exposure t exp 06415-065 figure 66. low speed shutter mo de using exposure register
ad9923a rev. 0 | page 48 of 88 subck: suppression normally, the subck begins pulsing on the line following the sensor gate line (vsg). some ccds require suppressing the subck pulse for one or more lines following the vsg line. the subcksuppress register enables such suppression. readout after exposure after the exposure, the readout of the ccd data occurs, beginning with the sensor gate (vsg) operation. by default, the ad9923a generates vsg pulses in every field. when only a single exposure and readout frame are needed, as is the case in the ccd preview mode, the vsg and subck pulses can operate in every field. however, often during readout, the subck output must be suppressed until the readout is complete. the readoutnum register specifies the number of additional fields after the exposure to continue the suppression of subck. readoutnum can be programmed for 0 to 7 fields, and should be preprogrammed at startup, not at the same time as the exposure write. a typical interlaced ccd frame readout mode generally requires two fields of subck suppression (readoutnum = 2) during readout. a three-field, six-phase ccd requires three fields of subck suppression after the readout begins (readoutnum = 3). if subck output is required to initiate backup during the last field of readout, program the readoutnum register to one less than the total number of ccd readout fields. similar to the exposure operation, the readout operation must be triggered using the trigger register. subck: additional masking the subckmask register (address 0x65) allows more complex subck masking. if subckmask = 1, it starts masking the subck at the next vd edge. if subckmask = 2, it enables users to select the internal shut3 signal and create a custom subck masking pattern that spans several fields. when generating an exposure by using the trigger register, as previously described in the readout after exposure section, the ad9923a outputs the subck and vsg signals on every field by default. this works well for continuous, single field exposure and readout operations, such as those in the ccd live preview mode. however, if the ccd requires a longer exposure time, or if multiple readout fields are needed, the trigger register is needed to initiate specific exposure and readout sequences. typically, the exposure and readout bits in the trigger register are used together. this initiates a complete exposure-plus-readout operation. after the exposure, the readout occurs automatically. the values in the exposure and readoutnum registers determine the length of each operation. it is possible to independently trigger the readout operation without triggering the exposure operation. this causes the readout to occur at the next vd, and the subck output is suppressed according to the value set in the readoutnum register. the trigger register also controls the shut and vsub signals. each signal is individually controlled, but dependent on the triggering of the exposure and readout operations. see figure 71 for a complete example of triggering the exposure and readout operations. alternatively, it is possible to manually control the exposure and readout operations by carefully updating the subcksuppress and vsg masking registers upon every vd field. as described in the following sections, it is possible to have partial or full manual control of the shutter signals. this allows greater flexibility in generating custom exposure/readout/shutter signal timing.
ad9923a rev. 0 | page 49 of 88 table 38. subck and trigger register parameters register length (bits) range description trigger 8 on/off for eight signals 0: triggers shut0 signal. 1: triggers shut1 signal. 2: triggers shut2 signal. 3: triggers shut3 signal. 4: triggers vsub0 signal. 5: triggers vsub1 signal. 6: triggers exposure operation. 7: triggers readout operation. readoutnum 3 0 to 7 fields number of fields to suppress subck after exposure. exposurenum 12 0 to 4095 fields number of fields to suppress to subck and vsg during exposure time (low speed shutter). vdhdoff 1 on/off disable vd/hd output during exposure. 1 = disable vd. 0 = enable vd. subckpol 1 1 high/low subck start polarity for subck1 and subck2. subck1tog1 1 12 0 to 4095 pixel locations first toggle positions for first subck pulse (normal shutter). subck1tog2 1 12 0 to 4095 pixel locations second toggle positions for first subck pulse (normal shutter). subck2tog1 1 12 0 to 4095 pixel locations first toggle positions for second subck pulse in last line (high precision). subck2tog2 1 12 0 to 4095 pixel locations second toggle positions for second subck pulse in last line (high precision). subcknum 1 12 1 to 4095 pulses total number of subcks per field, at one pulse per line. subcksuppress 1 12 0 to 4095 pulses number of pulses, after the vsg line, to suppress subck. subckmask 1 2 0 to 3 masking mode additional masking of subck output. 0 = no additional mask. 1 = start mask at vd edge. 2 = use internal shut3 signal to mask. 1 register is not vd updated, but updated at the start of the line after the sensor gate line. shutter outputs the ad9923a contains three shutter output pins: vsub, mshut, and strobe. internally, there are six possible shutter signals available: vsub0, vsub1, shut0, shut1, shut2, and shut3. any of these signals, and the following combinations: shut0 ^ vsub0, shut0 ^ vsub1, shut0 ^ shut1, shut0 ^ shut2, can be mapped to any of the output pins using the vsub_ctrl, mshut_ctrl, and strobe_ctrl registers. the vsub signals behave differently than the shut signals, and are generally used for the vsub output pin. if a more generic approach is desired for the shutter signals, the shut signals can be used for the vsub output pin. it is also possible to configure the sync pin as an output and send one of the internal shutter signals, or the combinations listed above, to the sync pin using the testo_ctrl register function. this provides the flexibility of outputting up to four shutter outputs if the external sync input function is not needed. vsub signal operation the ccd readout bias (vsub) can be programmed to accom- modate different ccds. figure 67 shows two available modes. in mode 0, vsub goes active when the exposure begins during the field of the last subck. the on position (rising edge in figure 67 ) is programmable to any line within the field. vsub remains active until the end of the image readout. in mode 1, the vsub is not activated until the start of the readout. a function called vsub_keepon is also available. when the appropriate vsub_keepon bit is set high, the vsub output remains active, even after the readout has finished. to disable the vsub at a later time, return this bit to low. the ad9923a contains two programmable vsub signals, vsub0 and vsub1. either of these signals can be mapped to the vsub output pin, the mshut pin, or the strobe pin.
ad9923a rev. 0 | page 50 of 88 shut signal operation shut signal operation is shown in figure 68 through figure 71 . table 39 shows the register parameters for controlling the shut signals. there are three different ways to use the shut signals: automatic trigger, single trigger, and manual control. automatic trigger generally, shut signals are triggered together with an expo- sure or readout operation, using the trigger register. the shut_on and shut_off positions are fully programmable to anywhere within the exposure period, using the field (shut_on_fd/shut_off_fd), line (shut_on_ln/shut_off_ln), and pixel (shut_on_px/shut_off_px) registers. the field registers define the field in which the line and pixel values are used, with respect to the value of the exposure counter. the on and off positions can occur as soon as the field contains the last subck (exposure field 0), or as late as the final exposure field before the readout begins. separate field registers allow the on and off positions to occur in different exposure fields. single trigger shut signals can be triggered without triggering an exposure or readout operation. in this case, shut signals are triggered using the trigger register, but the exposure bit is not triggered. both the shut on and off positions occur in the next field, and the shut_on_fd/shut_off_fd register values are ignored. single trigger operation is useful if a pulse is required immedi- ately in the next field without the occurrence of an exposure or readout operation. also, single trigger operation is useful when the exposure or readout operation is manually generated without using the trigger register, and the subck and vsg masking are manually controlled. note that single trigger operation cannot occur if an exposure operation has been triggered. shut signals behave in automatic trigger mode if they, and an exposure operation, have been triggered. manual control any shut signal can be controlled in manual control mode, instead of using the trigger register to activate it. in this mode, the individual on and off lines and pixel positions are used separately, depending on the status of the manual signal control register. note that only a single toggle position, either off or on, can be used in a vd interval. as with single trigger operation, when manual control is enabled, the shut_on_fd/shut_off_fd register values are ignored. because there is a separate bit to enable manual control on shut signals, this operation can be used regardless of the status of a triggered exposure operation. note that manual control can be used in conjunction with automatic or single trigger operations. if a shut signal is turned on using manual control, and then manual control is disabled, the shut signal remains on. if a subsequent trigger operation occurs, the on position toggle is ignored, because the signal is already on. in this case, only the off position can be triggered. vd subck vsub operation: 1 active polarity is defined by vsubpol (above example is vsub active high). 2 on position is programmable, mode 0 turns on at the start of exposure, mode 1 turns on at the start of readout. 3 off position occurs at end of readout. 4 optional vsub keep-on mode leaves the vsub active at the end of the readout. vsg1 vsub 3 1 2 2 4 mode 0 mode 1 trigger vsub t exp readout 06415-066 figure 67. vsub0, vsub1 signal programmability
ad9923a rev. 0 | page 51 of 88 vd shut programmable settings: 1 active polarity. defines the logic level during on time. above example uses active polarity = 1. 2 on position is programmable to any line/pixel in field immediately following single trigger write. 3 off position is programmable to any line/pixel in field immediately following single trigger write. vsg shut0 to shut3 1 2 3 single trigger write off state on state 0 6415-067 figure 68. shut0 to shut3 signal programmability vd subck shut programmable settings: 1 active polarity. defines the logic level during on time. above example uses active polarity = 1. 2 on position is programmable during any exposure field. above example uses shuton_fd = 1. 3 off position is programmable during any exposure field. above example uses shutoff_fd = 2. vsg shut0 to shut3 1 2 3 exposure field 0 exposure field 1 exposure field 2 off state on state t exp trigge r exposure shut_on = 1 (on) shut_on = 0 (off) 06415-068 figure 69. manual control of shut0 to shut3 signals vd subck shut programmable settings: 1 active polarity. defines the logic level during on time. above example uses active polarity = 1. 2 on position is programmable during any exposure field. above example uses shuton_fd = 1. 3 off position is programmable during any exposure field. above example uses shutoff_fd = 2. vsg shut0 to shut3 1 2 3 trigge r exposure and shut exposure field 0 exposure field 1 exposure field 2 off state on state 06415-011 t exp figure 70. single trigger control of shut0 to shut3 signals
ad9923a rev. 0 | page 52 of 88 table 39. vsub0 to vsub1 and shut0 to shut3 register parameters register length (bits) range description vsub_ctrl 3 0 to 7 selects which internal shutter signal is mapped to the vsub pin. 0: shut0. 1: shut1. 2: shut2. 3: shut3. 4: use vsub0_mux output. 5: use vsub1_mux output. 6: invalid setting. 7: use shut1_shut2_mux output. mshut_ctrl 3 0 to 7 selects which internal shutter signal is mapped to the mshut pin. 0: shut0. 1: shut1. 2: shut2. 3: shut3. 4: use vsub0_mux output. 5: use vsub1_mux output. 6: invalid setting. 7: use shut1_shut2_mux output. strobe_ctrl 3 0 to 7 selects which internal shutter signal is mapped to the strobe pin. 0: shut0. 1: shut1. 2: shut2. 3: shut3. 4: use vsub0_mux output. 5: use vsub1_mux output. 6: invalid setting. 7: use shut1_shut2_mux output. testo_ctrl 3 0 to 7 selects which internal shutter signal is mapped to the test0 signal. 0: shut0. 1: shut1. 2: shut2. 3: shut3. 4: use vsub0_mux output. 5: use vsub1_mux output. 6: invalid setting. 7: use shut1_shut2_mux output. vsub0_mux 1 high/low 0 = use vsub0. 1= use shut0 ^ vsub0. vsub1_mux 1 high/low 0 = use vsub1. 1= use shut0 ^ vsub 1. shut1_shut2_mux 1 high/low 0 = use shut0 ^ shut1. 1 = use shut0 ^ shut2. vsub_mode 1b high/low vsub mode. see figure 67 . 0 = mode 0. 1 = mode 1. vsub_keepon 1 high/low vsub keep-on mode. vs ub stays active after readout when set high. vsub_on 12 0 to 4095 line location vsub on pos ition. can turn on at any line in the field. vsubpol 1 high/low vsub start pol arity. when vsub is triggered on. shut_on 1 on/off shut manual control. 0 = shut off. 1 = shut on.
ad9923a rev. 0 | page 53 of 88 register length (bits) range description shutpol 1 high/low shut active polarity. shut_man 1 enable/disable enables shut manual control mode. 0 = disable. 1 = enable. shut_on_fd 12 0 to 4095 field location field loca tion to switch on mshut. inactive, or closed. shut_on_ln 12 0 to 4095 line location line pos ition to switch on mshut. inactive, or closed. shut_on_px 13 0 to 8191 pixel location pixel position to switch on mshut. inactive, or closed. shut_off_fd 12 0 to 4095 field location field lo cation to switch off mshut. inactive, or closed. shut_off_ln 12 0 to 4095 line location line pos ition to switch off mshut. inactive, or closed. shut_off_px 13 0 to 8191 pixel location pixel position to switch off mshut. inactive, or closed. explanation of figure 71 the numbers in this section, explanation of figure 71, correspond precisely to the numbers embedded in figure 71. 1. write to the readoutnum register (address 0x62) to specify the number of fields to suppress subck during readout of ccd data. in this example, readoutnum = 3. write to the exposurenum register (address 0x63) to specify the number of fields to suppress subck and vsg out- puts during exposure. in this example, exposurenum = 1. write to the trigger register (address 0x61) to trigger the shut0 (strobe), shut1 (mshut), and vsub0 (vsub) signals, and to start the exposure-plus-readout operation. to trigger these events (see figure 71), set the register trigger = 0xd3. readout automatically occurs after the exposure period finishes. write to the mode register to configure the next five fields. the first two fields during exposure are the same as the current draft mode fields, and the next three fields are the still frame readout fields. the register settings for the draft mode field and the three readout fields are previously programmed. 2. vd/hd falling edge updates the serial writes from 1. 3. if vsub0 mode = 0 (address 0x69), vsub output turns on at the line specified in the vsub0_on register (address 0x6a). 4. strobe output turns on and off at the location specified in the shut0_on/shut0_off registers (address 0x6d/ address 0x71). 5. mshut output turns off at the location specified in the shut1_off_fd, shut1_off_ln, and shut1_off_px registers (address 0x75 and address 0x76). the shut1 on position is ignored, because the shut1 signal is already on from a previous manual operation (see step 10). 6. the next vd falling edge automatically starts the first readout field. 7. the next vd falling edge automatically starts the second readout field. 8. the next vd falling edge automatically starts the third readout field. 9. write to the mode register to reconfigure the single draft mode field timing. write a 1 to the shut1_man and shut1_on registers (address 0x72) to turn the mshut output back manually. 10. vd/hd falling edge updates the serial writes from 9. vsg outputs return to draft mode timing. subck output resumes operation. mshut output returns to the on position (active or open). be sure to disable manual control of shut1 before another automatic trigger of the shut1 signal is needed. vsub output returns to the off position (inactive).
ad9923a rev. 0 | page 54 of 88 example of exposure and readout of interlaced frame 06415-069 vd subck vsub (vsub0) mechanical shutter open closed mode 0 mode 1 mshut (shut1) strobe (shut0) serial writes open vsg still image readout ccd out draft image still image first field still image second field still image third field draft image draft image 1 9 2 4 3 5 6781 0 10 10 10 t exp figure 71. example of exposure and still image readout using shutter signals and mode register
ad9923a rev. 0 | page 55 of 88 fg_trig operation the ad9923a contains one additional signal that can be used in conjunction with shutter operation or general system operation. the fg_trig signal is an internally generated pulse that can be output on the sync pins for shutter or other system functions. a unique feature of the fg_trig signal is that it is output with respect to the mode register field status. the fg_trig signal is generated using the shut1 start polarity and toggle position registers, programmable with line and pixel resolution. the field registers for shut1 are ignored because the field placement of the fg_trig pulse is matched to the field count specified by the mode register operation. the fg_trigen register contains a three-bit value that specifies which field count contains the fg_trig pulse. figure 72 shows how the fg_trig pulse is generated using these registers. after the fg_trig signal is specified, it can be enabled using bit 3 of the fg_trigen register. the fg_trig signal is mapped to the sync output if the sync pin is configured as an output (syncenable = 0). table 40. fg_trig operation registers register address bit location description syncenable 0x12 [0] 0 = configures sync pin as an output. by default, the fg_trig signal is output on the sync pin. 1 = sync pin is an external synchronization input. fg_trigen 0xf1 [3:0] [2:0] selects the field co unt for the pulse based on the mode field counter. [3] = 1 to enable fg_trig signal output. shut1pol 0x72 [1] [1] fg_trig start polarity. shut1_on_ln 0x74 [11:0] fg_t rig first toggle, line location. shut1_on_px 0x74 [25:13] fg_trig first toggle, pixel location. shut1_off_ln 0x76 [11:0] fg_trig second toggle, line location. shut1_off_px 0x76 [25:13] fg_trig second toggle, pixel location. vd fg_trig programmable settings: 1 active polarity. 2 first toggle position, line and pixel location. 3 second toggle position, line and pixel location. 4 field placement based on mode register field count. mode register field count fg_trig 1 23 field 0 field 1 field 2 field 0 field 1 44 0 6415-070 figure 72. fg_trig signal generation
ad9923a rev. 0 | page 56 of 88 6db ~ 42db ccdin cli digital filter clpob dc restore optical black clamp 12-bit adc vga dac 8 cds internal v ref 2v full scale precision timing generation shp shd 1.5v output data latch reft refb dout phase v-h timing generation shp shd dout phase clpob pblk pblk 1.0v 2.0v dout dclk ad9923a 0.1f vga gain register 0.1f 0.1f clamp level register 12 dout dly dclk mode fixed delay cli 1 0 0 6415-071 figure 73. analog front end functional block diagram analog front end description/operation the ad9923a signal processing chain is shown in figure 73 . each step is essential to achieve a high quality image from the raw ccd pixel data. dc restore to reduce the large dc offset of the ccd output signal, a dc restore circuit is used with an external 0.1 f series coupling capacitor. this restores the dc level of the ccd signal to approximately 1.5 v so that it is compatible with the 3 v supply voltage of the ad9923a. correlated double sampler the cds circuit samples each ccd pixel twice to extract video information and reject low frequency noise. the timing shown in figure 20 illustrates how the two internally generated cds clocks, shp and shd, are used to sample the reference and data levels of the ccd signal, respectively. the placement of the shp and shd sampling edges is determined by the setting of the shploc and shdloc registers located at address 0x37. placement of these clock signals is critical to achieve the best ccd performance. the cds gain can be set to ?3 db, 0 db (default), +3 db, or +6 db in the cdsgain register, address 0x04. the +3 db and +6 db settings improve noise performance, but reduce the input range (see figure 8 ). variable gain amplifier the vga stage provides gain in the range of 6 db to 42 db, programmable with 10-bit resolution through the serial digital interface. a minimum gain of 6 db is needed to match a 1 v input signal with an adc full-scale range of 2 v. when compared to 1 v full-scale systems, the equivalent range of gain is 0 db to 36 db. the vga gain curve follows a linear-in-db characteristic. the exact vga gain can be calculated for any gain register value using the following equation gain (db) = (0.0358 code ) + 5.5 db where the code range is 0 to 1023. 0 6415-072 vga gain register code vga gain (db) 42 36 30 24 18 12 6 0 127 255 383 511 639 767 895 1023 figure 74. vga gain curve adc the ad9923a uses a high performance adc architecture optimized for high speed and low power. differential nonlin- earity (dnl) performance is typically better than 1 lsb. the adc uses a 2 v input range. see figure 6 and figure 8 for typical linearity and noise performance plots.
ad9923a rev. 0 | page 57 of 88 optical black clamp the optical black clamp loop removes residual offsets in the signal chain and tracks low frequency variations in the ccd black level. during the optical black (shielded) pixel interval on each line, the adc output is compared with a fixed black level reference, selected by the user in the clamplevel register. the value can be programmed between 0 lsb and 255 lsb in 1023 steps. the resulting error signal is filtered to reduce noise and the correction value is applied to the adc input through a dac. normally, the optical black clamp loop is turned on once per horizontal line, but this loop can be updated more slowly to suit a particular application. if external digital clamping is used during postprocessing, the ad9923a optical black clamping can be disabled using the clpenable register (address 0x00, bit d2). even though the loop is disabled, the clamplevel register can still be used to provide programmable offset adjustment. the clpob pulse should be placed during the ccd optical black pixels. it is recommended that the clpob pulse duration is at least 20 pixels wide to minimize clamping noise. shorter pulse widths can be used, but clamping noise might increase, reducing the ability to track low frequency variations in the black level. see the horizontal clamping and blanking section for timing examples. digital data outputs the digital output data is latched using the doutphase register value, as shown in figure 73 . output data timing is shown in figure 21 and figure 22 . it is also possible to leave the output latches transparent, so that the data outputs from the adc are immediately valid. programming the doutlatch register, bit d1 to 1 sets the output latches transparent. the data outputs can also be disabled (three-stated) by setting the doutdisable register 0x01, bit d0 to 1. the dclk output can be used for external latching of the data outputs. by default, the dclk output tracks the value of the doutphase register. by changing the dclkmode register, the dclk output can be held at a fixed phase, and the doutphase register value is ignored. to optimize the delay between the dclk rising edge and the data output transition, the doutdelay register is used. by default, there is approximately 8 ns of delay from the rising edge of dclk to the transition of the data outputs. see the high speed timing generation section for more information. switching the data outputs can couple noise into the analog signal path. to minimize switching noise, set the doutphase register to the same edge as the shp sampling location, or up to 11 edges after the shp sampling location. other settings can produce good results, but require experimentation. it is recommended that the doutphase location not occur between the shd sampling location and 11 edges after the shd location. for example, if shdloc = 0, set doutphase to an edge location of 12 or greater. if adjustable phase is not required for the data outputs, the output latch can be left transparent using register 0x01, bit d1. data output coding is normally straight binary, but can be changed to gray coding by setting the grayen register 0x01, bit d2 to 1.
ad9923a rev. 0 | page 58 of 88 recommended power-up sequence for master mode when the ad9923a is powered up, the following sequence is recommended (see figure 75 ): 1. turn on the +3 v power supplies for the ad9923a, and start the master clock (cli). 2. turn on the v-driver supplies (vh and vl). there are no restrictions on the order in which vh and vl are turned on. 3. reset the internal ad9923a registers by writing 1 to the sw_rst register (address 0x10). 4. load the required registers to configure the required vpat group, v-sequence, field timing information, high speed timing, horizontal timing, and shutter timing information. 5. to place the part into normal power operation, write 0x04 to the afe standby register (bits[1:0], address 0x00) and 0x60 to test3 register 0xea. if the clo output is being used to drive a crystal, also power up the clo oscillator by writing 1 to register 0x16. 6. by default, the internal timing core is held in a reset state with tgcore_rstb register = 0. write 1 to the tgcore_rstb register (address 0x15) to start the internal timing core operation. if a 2 clock is used for the cli input, set the clidivide register (address 0x30) to 1 before resetting the timing core. it is important to wait at least 500 s after starting the master clock (cli) before resetting the timing core, especially if using a crystal or crystal oscillator. 7. configure the ad9923a for master mode timing by writing 1 to the master register (address 0x20). 8. bring the vdr_en signal high to +3 v to enable the v-driver outputs. if vdr_en = 0 v, all v-driver outputs = vm, and subck = vll. 9. write 1 to the outcontrol register (address 0x11). this allows the outputs to become active after the next sync rising edge. 10. generate a sync event. if sync is high at power-up, bring sync input low for a minimum of 100 ns. then, bring sync high. this causes the internal counters to reset and starts a vd/hd operation. the first vd/hd edge allows vd register updates to occur, including outcontrol to enable all outputs. if an external sync pulse is not available, generate an internal sync pulse by writing to the syncpol register as described in the generating software sync without external sync signal section. power supplies serial writes vd (output) 1h first field sync (input) digital outputs clocks active when outcontrol register is updated at vd/hd edge. h1/h3, rg, dclk, strobe, mshut, vsub cli (input) hd (output) t sync 0v v h supply vl supply (hi-z by default) (hi-z by default) 2 34 567 79 10 1v 5 1 +3v supplies vdr_en 8 (and internal xv1 to xv13, vsg1 to vsg8, xsbuck, xsubcnt) 0v +3v vh vm vl v1 to v13 vm 06415-073 figure 75. recommended power-up sequen ce and synchronization, master mode
ad9923a rev. 0 | page 59 of 88 table 41. power-up register write sequence register address data description sw_rst 0x10 0x01 resets all registers to default values 0x20 to 0xfff user defined horizontal, vertical, shutter timing standby 0x00 0x04 powers up the afe test3 0xea 0x60 set test3 register to required value osc_rst 0x16 0x01 resets crystal oscillator circuit tgcore_rstb 0x15 0x01 resets internal timing core master 0x20 0x01 configures master mode outcontrol 0x11 0x01 enables all outputs after sync syncpol 0x13 0x01 sync active polarity (for software sync only) vd hd suspend sync hl, h1 to h4, rg, xv1 to xv13, vsg1 to vsg8, subck notes 1. the sync rising edge resets vd/hd and counters to 0. 2. sync polarity is programmable using syncpol register (addr 0x13). 3. during sync low, all internal counters are reset and vd/hd can be suspended using the syncsuspend register (addr 0x14). 4. if syncsuspend = 1, vertical clocks, h1 to h4, and rg are held at the same polarity specified by outcontrol = low. 5. if syncsuspend = 0, all clock outputs continue to operate normally until sync reset edge. 06415-074 figure 76. sync timing to synchron ize ad9923a with external timing generating software sync without external sync signal if an external sync pulse is not available, it is possible to generate an internal sync pulse by writing to the syncpol register (address 0x13). if the software sync option is used, the sync input (pin 35) should be low (vss) during the power-up proce- dure. after the power-up procedure is complete, the sync pin can be used as an output by setting the syncenable register low (address 0x12). after power-up, follow step 1 to step 9 of the procedure in the recommended power-up sequence for master mode section. for step 10, instead of using the external sync pulse, write 1 to the syncpol register to generate an internal sync pulse and begin the timing operation. sync during master mode operation the sync input can be used anytime during master mode operation to synchronize the ad9923a counters with external timing, as shown in figure 76 . to suspend operation of the digital outputs during the sync operation, set the syncsuspend register (address 0x14) to 1. if syncsuspend = 1, the polarities of the outputs are held at the same state as when outcontrol = low, as shown in table 42 and table 43 . power-up and synchronization in slave mode the power-up procedure for slave mode operation is the same as the procedure described for master mode operation, with two exceptions: ? eliminate step 8. do not configure the part for master mode timing. ? no sync pulse is required in slave mode. substitute step 10 with starting the external vd and hd signals. this synchronizes the part, allows the register updates, and starts the timing operation. note that dclk does not begin to transition until step 7 is complete. when the ad9923a is in slave mode, the vd/hd inputs synchronize the internal counters. after a falling edge of vd, there is a latency of 34 master clock edges (cli) after the falling edge of hd until the internal h-counter is reset. the reset operation is shown in figure 77 . note that if shdloc is set so that the 3 ns minimum delay between the rising edge of sli and the falling edge of the internal shd signal is not met, the internal h-counter can reset after only 33 master clock edges (cli).
ad9923a rev. 0 | page 60 of 88 h-counter reset vd notes 1. internal hd falling edge is latched by cli rising edge, then latched again by shd internal falling edge. 2. internal h-counter is always reset 32.5 clock cycles after the internal hd falling edge. 3. depending on the value of shdloc, h-counter reset can occur 33 or 34 cli clock edges after the external hd falling edge. 4. shdloc = 0 is shown in above example. in this case, the h-counter reset occurs 34 cli rising edges after hd falling edge. hd cli xx xxxx x x h-counter (pixel counter) 3ns min xx x xxx x xx xx xx x xx x 3ns min shd internal hd internal t clidly x 32.5 cycles 012 xx xxx x xx x 06415-075 figure 77. external vd/hd and internal h-counter synchronization, slave mode 06415-076 01234 h-counter reset vd notes 1. toggle positions cannot be programmed within 28 pixels of pixel 0 location. hd h-counter (pixel counter) n n-1n-2 no toggle positions allowed in this area n-3n-4n-5n-6n-7n-8n-9n-10 n-11 n-12 n-13 n-14 n-15 n-16 n-17 n-18 n-19 n-20 n-21 n-22 n-23n-24 n-25n-26 n-27 n-28 figure 78. toggle position in hibited areamaster mode 06415-077 h-counter reset vd notes 1. toggle positions cannot be programmed within 28 pixels of pixel 0 location. hd h-counter (pixel counter) no toggle positions allowed in this area 012 n-1 n n-2n-3 n-4n-5 n-6n-7 n-8n-9 n-10 n-11n-12 n-13n-14 n-15n-16 n-17 n-18n-19 n-20n-21 n-22n-23 n-24n-25 n-26n-27 n-28n-29 n-30 n-31 n-32 n-33 figure 79. toggle position inhibited areaslave mode vertical toggle position placement near counter reset one additional consideration during the reset of the internal counters is the vertical toggle position placement. prior to the internal counters being reset, there is a region of 28 pixels during which no toggle positions can be programmed. as shown in figure 78 , in master mode, the last 28 pixels before the hd falling edge should not be used for toggle position place- ment of the xv, vsg, subck, hblk, pblk, or clpob pulses. figure 79 shows the same example for slave mode. the same restriction appliesthe last 28 pixels before the counters are reset cannot be used. however, the counter reset is delayed with respect to vd/hd placement; therefore, the inhibited area is different than it is in master mode. it is also recommended that pixel location 0 is not used for toggle positions for the vsg and subck pulses.
ad9923a rev. 0 | page 61 of 88 standby mode operation the ad9923a contains three standby modes to optimize the overall power dissipation in various applications. bits[1:0] of register 0x00 control the power-down state of the device: standby[1:0] = 00 = normal operation (full power) standby[1:0] = 01 = standby 1 mode standby[1:0] = 2 = standby 2 mode standby[1:0] = 3 = standby 3 mode (lowest power) table 42 and table 43 summarize the operation of each power- down mode. note that when outcontrol = lo, it takes priority over the standby 1 and standby 2 modes in determining the digital output states, but standby 3 mode takes priority over outcontrol. standby 3 has the lowest power consumption, and can shut down the crystal oscillator circuit between cli and clo. if cli and clo are being used with a crystal to generate the master clock, this circuit is powered down and there is no clock signal. when returning the device from standby 3 mode to normal operation, reset the timing core at least 500 s after writing to the standby register (bits[1:0], address 0x00). this allows sufficient time for the crystal circuit to settle. the vertical and shutter outputs can be programmed to hold a specific value during the standby 3 mode using register 0xe2, as detailed in table 43 . the vertical outputs can be programmed to hold a specific value when outcontrol = low, or when in standby 1 or standby 2 mode, by using register 0xf3. the following list provides guidelines for the mapping of the bits in these registers to the various vertical and shutter outputs when the device is in one of the three standby modes, or when outcontrol = low. ? standby 3 mode takes priority over outcontrol for determining the output polarities. ? these polarities assume outcontrol = high, because outcontrol = low takes priority over standby 1 and standby 2. ? standby 1 and standby 2 set h and rg drive strength to their minimum values (4.3 ma). ? vd and hd default to high-z status when in slave mode regardless of standby mode or outcontrol status. this feature is useful during power-up if different polarities are required by the v-driver and ccd to prevent damage. it is important to note that when vdr_en = 0 v, v1 to v13 are at vm, and subck is at vll regardless of the state of the value of the standby and outcontrol registers. table 42. standby mode operation i/o block standby 3 (default) 1 , 2 outcontrol = low 2 standby 2 3 , 4 standby 1 3 , 4 afe off no change off only reft, refb on timing core off no change off on clo oscillator off no change on on clo high running running running hl high-z low low (4.3 ma) low (4.3 ma) h1 high-z low low (4.3 ma) low (4.3 ma) h2 high-z high high (4.3 ma) high (4.3 ma) h3 high-z low low (4.3 ma) low (4.3 ma) h4 high-z high high (4.3 ma) high (4.3 ma) rg high-z low low (4.3 ma) low (4.3 ma) vd 5 low vdhdpol value vdhdpol value running hd low vdhdpol value vdhdpol value running dclk low running low running d0 to d11 low low low low 1 to exit standby 3, write 00 to standby (bits[1:0], address 0x00), then reset the t iming core after 500 s to guarantee proper settling of the oscillator. 2 standby 3 mode takes priority over outcontrol for determining the output polarities. 3 these polarities assume outcontrol = high, because outcontrol = low takes prio rity over standby 1 and standby 2. 4 standby 1 and standby 2 set h and rg drive strength to their minimum values (4.3 ma). 5 vd and hd default to high-z status when in slave mode regardless of standby mode or outcontrol status.
ad9923a rev. 0 | page 62 of 88 table 43. standby mode operationvertical and shutter outputs output standby 3 (default) 1 , 2 outcontrol = low standby 2 3 , 4 standby 1 3 , 4 xv1 low low low low xv2 low low low low xv3 low low low low xv4 low low low low xv5 low low low low xv6 low low low low xv7 low low low low xv8 low low low low xv9 low low low low xv10 low low low low xv11 low low low low xv12 low low low low xv13 low low low low vsg1 low high high high vsg2 low high high high vsg3 low high high high vsg4 low high high high vsg5 low high high high vsg6 low high high high vsg7 low high high high vsg8 low high high high xsubck low high high high vsub 5 low low low low mshut 5 low low low low strobe 5 low low low low 1 polarities for vertical and shutter outputs when the ad9923 is in standby 3 mode are programmable using the standby3pol regist er, address 0xe2 (default register value = 0x000000). 2 bit assignments for the standby3pol[23:0] register (address 0xe2 ): (msb) strobe, mshut, vsub, xsubck, vsg8, vsg7, vsg6, vsg3, vsg5, vsg4, vsg2, vsg1, xv13, xv12, xv11, xv10, xv9, xv8, xv7, xv6, xv5, xv4, xv3, xv2, and xv1 (lsb). 3 polarities for vertical output s when the ad9923 is in standby 1, standby 2, or if outcontrol = low, are programmable using the standby12pol register, address 0xf3 (default regi ster value = 0x3fe000) 4 bit assignments for the standby12pol[20:0] register (address 0xf3): (msb) xsubck, vsg8, vsg7, vsg6, vsg3, vsg5, vsg4, vsg2, vs g1, xv13, xv12, xv11, xv10, xv9, xv8, xv7, xv6, xv 5, xv4, xv3, xv2, and xv1 (lsb). 5 vsub, mshut, and strobe polarities for standby 1, standby 2, or if outcontrol = low are controlled by standby3pol.
ad9923a rev. 0 | page 63 of 88 circuit layout information the ad9923a typical circuit connections are shown in figure 82 . the pcb layout is critical for achieving good image quality from the ad9923a. all supply pins, particularly the pins for the avdd, tcvdd, rgvdd, and hvdd supplies, must be decoupled to ground with quality, high frequency chip capacitors. the decoupling capacitors should be as close as possible to the supply pins and have a very low impedance path to a continuous ground plane. there should be a bypass capacitor of at least 4.7 f for each main supplyavdd, hvdd, and drvdd but this is not necessary for each individual pin. in most applications, it is easier to share the supply for rgvdd and hvdd; this requires bypassing each supply pin separately. a separate 3 v supply can also be used for drvdd, but it should be decoupled to the same ground plane as the rest of the chip. a separate ground for drvss is not recommended. the analog bypass pins (reft and refb) should be carefully decoupled to ground, as close as possible to their respective pins. the analog input (ccdin) capacitor should also be located close to the pin. to avoid excessive distortion of the signals, design the hl, h1 to h4, and rg traces to have low inductance. to minimize mutual inductance, route the complementary signals, h1 and h2, as symmetrically and close together as possible. the same should be done for the h3 and h4 signals. heavier pcb traces are recommended because of the large transient current demand placed by the ccd on hl and h1 to h4. if possible, physically locating the ad9923a closer to the ccd reduces the inductance on these lines. the routing path should be as direct as possible from the ad9923a to the ccd. the ad9923a also contains an on-chip oscillator for driving an external crystal. the maximum crystal frequency that the ad9923a can support is 36 mhz. figure 80 shows an example application using a typical 24 mhz crystal. for the exact values of the external resistors and capacitors, see the crystal manufacturers data sheet. 10pf~20pf 10pf~20pf cli (h12) clo (j12) ad9923a 24mhz xtal ~2m ? ~375 ? 06415-078 figure 80. crystal driver application 0 v vdd vl v5v v h vdr_en 06415-080 figure 81. ad9923a recommended power up sequence
ad9923a rev. 0 | page 64 of 88 3 v1 v2 v3 v4 v6 15 6 12 0.1f 4.7f 6.3v 0.1f 0.1f 0.1f 0.1f 0.1f 0.1f 0.1f 0.1f 0.1f 10v 0.1f 25v 0.1f 0.1f 4.7f 10v 4.7f 6.3v 2.2f 25v cli serial interface (from asic/dsp) sync (from asic/dsp) vertical sync (to/from asic/dsp) horizontal sync (to/from asic/dsp) resetb (from asic/dsp) +3v supply + 3v supply + 3v supply +3v supply clo master clock input optional clock oscillator output (for crystal application) vsub output (to ccd bias circuit) strobe control output mechanical shutter control outpu t ccdgnd h, rg outputs (to ccd) +3v analog supply +3v h, rg supply +3v h, rg supply vll vl1 vl2 vmm vm1 vm2 vh1 vh2 v5a v5b v7a v7b v10 v11 v12 v13 vertical outputs (to ccd) subck output (to ccd) subck nc = not internally connected dclk output data outputs d11 (msb) d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 (lsb) dclk rstb hd vd sync sl sck sdi vsub strobe mshut refb reft ccdin avss avss avss avss avss avss avss avss rg hl h4 h3 h2 h1 ccd signal input rgvss hvss avdd tcvdd rgvdd hvdd ad9923abbcz (not to scale) vh supply vl supply vdd2 vdd1 vss2 vss1 v9 v8 drvdd dvdd1 dvdd2 dvdd2 dvdd2 test3 vdr_en nc test1 test0 drvss dvss1 dvss2 nc nc nc nc nc nc nc nc nc nc nc nc nc nc l4 e1 k8 l8 l7 j8 k11 k4 j7 j5 l5 f2 k9 a11 e6 g2 g3 h9 j6 j9 j10 j11 k7 l1 l6 l9 l11 l2 l3 k1 k2 k3 j1 j2 j 3 h 1 h 2 h 3 g 1 e 5 e 2 d 2 g 7 c 3 c 2 b 1 a 8 a 9 k 6 g 5 f 5 f 1 a2 a3 a5 a6 c10 b11 c11 d11 e11 f11 a1 b2 b3 b4 b5 a4 b6 b7 b9 a10 d10 a7 b8 b10 d9 g 6 c 8 g 1 0 e 7 g 9 c 4 c 5 f 1 0 c 6 c 7 g 1 1 h 1 1 h 1 0 f 6 f 7 e 1 0 k 5 k 1 0 c 9 d 3 e 3 j 4 l 1 0 f 3 e 9 c 1 f 9 d 1 tcvss v-driver enable (from asic/dsp) 06415-079 figure 82. ad9923abbcz typical circuit configuration using external hardware sync
ad9923a rev. 0 | page 65 of 88 06415-090 3 v1 v2 v3 v4 v6 15 6 12 0.1f 4.7f 6.3v 0.1f 0.1f 0.1f 0.1f 0.1f 0.1f 0.1f 0.1f 0.1f 10v 0.1f 25v 0.1f 0.1f 4.7f 10v 4.7f 6.3v 2.2f 25v cli serial interface (from asic/dsp) vertical sync (to/from asic/dsp) horizontal sync (to/from asic/dsp) resetb (from asic/dsp) +3v supply +3v supply +3v supply +3v supply clo master clock input optional clock oscillator output (for crystal application) vsub output (to ccd bias circuit) strobe control output mechanical shutter control output ccdgnd h, rg outputs (to ccd) +3v analog supply +3v h, rg supply +3v h, rg supply vll vl1 vl2 vmm vm1 vm2 vh1 vh2 v5a v5b v7a v7b v10 v11 v12 v13 vertical outputs (to ccd) subck output (to ccd) subck nc = not internally connected dclk output data outputs d11 (msb) d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 (lsb) dclk rstb hd vd sync sl sck sdi vsub strobe mshut refb reft ccdin avss avss avss avss avss avss avss avss rg hl h4 h3 h2 h1 ccd signal input rgvss hvss avdd tcvdd rgvdd hvdd ad9923abbcz (not to scale) vh supply vl supply vdd2 vdd1 vss2 vss1 v9 v8 drvdd dvdd1 dvdd2 dvdd2 dvdd2 test3 vdr_en nc test1 test0 drvss dvss1 dvss2 nc nc nc nc nc nc nc nc nc nc nc nc nc nc l4 e1 k8 l8 l7 j8 k11 k4 j7 j5 l5 f2 k9 a11 e6 g2 g3 h9 j6 j9 j10 j11 k7 l1 l6 l9 l11 l2 l3 k1 k2 k3 j1 j2 j 3 h 1 h 2 h 3 g 1 e 5 e 2 d 2 g 7 c 3 c 2 b 1 a 8 a 9 k 6 g 5 f 5 f 1 a2 a3 a5 a6 c10 b11 c11 d11 e11 f11 a1 b2 b3 b4 b5 a4 b6 b7 b9 a10 d10 a7 b8 b10 d9 g 6 c 8 g 1 0 e 7 g 9 c 4 c 5 f 1 0 c 6 c 7 g 1 1 h 1 1 h 1 0 f 6 f 7 e 1 0 k 5 k 1 0 c 9 d 3 e 3 j 4 l 1 0 f 3 e 9 c 1 f 9 d 1 tcvss v-driver enable (from asic/dsp) figure 83. typical circuit configuratio n when using software sync function
ad9923a rev. 0 | page 66 of 88 serial interface timing all of the ad9923a internal registers are accessed through a 3-wire serial interface. each register consists of a 12-bit address and a 28-bit data-word. both the address and data-word are written by starting with the lsb. to write to each register, a 40-bit operation is required, as shown in figure 84 . although many data-words are fewer than 28 bits wide, all 28 bits must be written for each register. for example, if the data-word is only 20 bits wide, the upper 8 bits are dont cares and must be filled with 0s during the serial write operation. if fewer than 28 data bits are written, the register is not updated with new data. figure 85 shows a more efficient way to write to the registers, using the ad9923a address auto-increment capability. using this method, the lowest desired address is written first, followed by multiple 28-bit data-words. each data-word is automatically written to the address of the next highest register. by eliminating the need to write each address, faster register loading is achieved. continuous write operations can start with any register location. a4 a5 a2 a3 sdi a0 a1 a6 a8 a9 a10 a11 d0 d1 d2 d3 d25 d26 d27 sl a7 t ls t ds 12-bit address 28-bit dat a 5 40 6 7 8 9 10 11 12 13 14 15 16 38 39 t lh t dh notes 1. sdata bits are latched on sck rising edges. sck may idle high or low between write operations. 2. all 40 bits must be written: 12 bits for address and 28 bits for data-word. 3. if the data-word is <28 bits, 0s must be used to complete the 28-bit data-word length. 4. new data values are updated in the specified register location at different times, depending on the particular register written to. see the updating of new register values section for more information. sck 1234 0 6415-081 figure 84. serial write operation sdi a0 a1 a2 a10 a11 d0 d1 d26 d27 sck sl a3 notes 1. multiple sequential registers can be loaded continuously. 2. the first (lowest address) register address is written, followed by multiple 28-bit data-words. 3. the address automatically increments with each 28-bit data-word (all 28 bits must be written). 4. sl is held low until the last desired register is loaded. d0 d1 d26 d27 d0 data for starting register address data for next register address d2 d1 1 40 2 3 4 11121314 39 42 41 68 67 70 69 71 06415-082 figure 85. continuous serial write operation
ad9923a rev. 0 | page 67 of 88 layout of internal registers the ad9923a address space is divided into two register areas, as illustrated in figure 86 . in the first area, address 0x00 to address 0x91 contain the registers for the afe, miscellaneous functions, vd/hd parameters, timing core, clpob masking, sg patterns, shutter functions, and memory configuration. the second area of the address space, beginning at address 0x400, consists of the registers for the v-pattern groups, v-sequences, and fields. this is a configurable set of registers; the user can decide how many v-pattern groups, v-sequences, and fields are used in a particular design. therefore, the addresses for these registers vary, depending on the number of v-patterns and v-sequences chosen. register 0x90 (vpat_num) and register 0x91 (vseq_num) specify the total number of v-pattern groups and v-sequences used. the starting address for the v-pattern groups is 0x400. the starting address for a v-sequence is based on the number of v-pattern groups used, with each v-pattern group occupying 40 register addresses. the starting address for a field register depends on both the number of v-pattern groups and the number of v-sequences. each v-sequence occupies 20 register addresses, and each field occupies 12 register addresses. the starting address for a v-sequence is equal to 0x400 plus the number of v-pattern groups times 40. the starting address for a field is equal to the starting address of a v-sequence plus the number of v-sequences times 20. the vpat, vseq, and field registers must occupy a continuous block of addresses. figure 87 shows an example with three v-pattern groups, four v-sequences, and two fields. the starting address for the v-pattern groups is 0x400. because vpat_num = 3, the v-pattern groups occupy 120 address locations. the start of the v-sequence register is 0x400 + 120 = 0x478. with vseq_num = 3, the v-sequences occupy 60 address locations. theref ore, the field registers begin at 0x448 + 60 = 0x4b4. the ad9923a address space contains many unused addresses. undefined addresses between address 0x00 and address 0x399 should not be written to, or the ad9923a might operate incorrectly. continuous register writes should be performed carefully to avoid writing to undefined registers. fixed register are a addr 0x00 addr 0x90 addr 0x10 addr 0x20 addr 0x30 addr 0x40 addr 0x50 addr 0x60 v-pattern groups (each group uses 40 registers) v-sequences (each vseq uses 20 registers) configurable register dat a addr 0x400 fields (each field uses 12 registers) max 0x7ff vseq start field start a ddr 0xff addr 0x92 afe registers configure memory using vpat_num and vseq_num miscellaneous registers vd/hd registers timing core registers clpob mask registers sg pattern registers shutter control registers invalid do not access 0 6415-083 figure 86. layout of ad9923a registers addr 0x400 addr 0x478 addr 0x4b4 addr 0x4cc max 0x7ff 3 v-pattern groups (40 3 = 120 registers) 4 v-sequences (20 3 = 60 registers) 2 fields (12 2 = 24 registers) unused memory 06415-084 figure 87. example of register configuration
ad9923a rev. 0 | page 68 of 88 updating new register values the ad9923a internal registers are updated at different times, depending on the particular register. table 44 summarizes the four types of register updates. the register listing ( table 45 through table 5 7 ) also contain a column with update type to identify when each register is updated: ? sck updated some registers are updated when the 28 th data bit (d27) is written. these registers are used for functions, such as power-up and reset, that do not require gating with the next vd boundary. ? vd updated many of the registers are updated at the next vd falling edge. by updating these values at the next vd edge, the current field is not corrupted, and the new register values are applied to the next field. the vd update can be further delayed, past the vd falling edge, by using the update register (address 0x18). this delays the vd-updated register updates to any desired hd line in the field. note that the field registers are not affected by the update register. ? sg updated a few shutter registers are updated at the hd falling edge at the end of an sg active line. these registers control the subck signal; therefore, the subck output is not updated until the sg line is complete. ? scp updated all v-pattern and v-sequence registers are updated at the next scp where they will be used. for example, in figure 88 , this field has selected region 1 to use v-sequence 3 for the vertical outputs; therefore, a write to a v-sequence 3 or v-pattern group register, which is referenced by v-sequence 3, is updated at scp 1. if there are multiple writes to the same register, only the last one before scp1 is updated. likewise, a register write to a v-sequence 5 register is updated at scp 2, and a register write to a v-sequence 8 register is updated at scp 3. table 44. register update locations update type description sck register is immediately updated when the 28 th data bit (d27) is written. vd register is updated at the vd falling edge. vd updated registers can be delayed further by using the update register at address 0x18. field registers are not affected by the update register. sg register is updated at the hd falling edge at the end of the sg active line. scp register is updated at the next scp when the register is used. vd region 0 hd scp 1 scp 2 scp 3 region 1 region 2 region 3 vsg sgline scp 0 serial write sc k updated scp 0 v d updated s g updated scp updated v1a to v10 use vseq2 use vseq3 use vseq5 use vseq8 06415-085 figure 88. register update locations (see table 44 for definitions)
ad9923a rev. 0 | page 69 of 88 complete register listing when an address contains less than 28 data bits, all remaining bits must be written as 0s. table 45. afe registers address (hex) data bits default value update type name description 00 [1:0] 3 sck standby standby modes. 0: normal operation. 1: standby 1 mode. 2: standby 2 mode. 3: standby 3 mode. [2] 1 clpenable 0: disable ob clamp. 1: enable ob clamp. [3] 0 clpspeed 0: select normal ob clamp settling. 1: select fast ob clamp settling. [4] 0 fastupdate 0: ignore vga update. 1: very fast clamping when vga is updated. [5] 0 pblk_lvl 0: blank data outputs to 0 during pblk. 1: blank data outputs to programmed clamp level during pblk. [6] 0 dcbyp 0: enable input dc -restore circuit during pblk. 1: disable input dc-r estore circuit during pblk. [15:11] 0 xsubcnt_mux selects which internal signal is used for the xsubcnt signal. 0: assign xv6 to xsubcnt. 1: assign xv8 to xsubcnt. 2: assign xv9 to xsubcnt. 3: assign xv10 to xsubcnt. 4: assign vsg5 to xsubcnt. 5: assign vsg6 to xsubcnt. 6: assign vsg7 to xsubcnt. 7: assign vsg8 to xsubcnt. 8: assign vsg2 to xsubcnt. 9: assign vsg3 to xsubcnt. 10: assign vsg4 to xsubcnt. 11: assign vsg1 to xsubcnt. 12: assign xv13 to xsubcnt. 13: assign vsub to xsubcnt. 14: assign mshut to xsubcnt. 15: assign strobe to xsubcnt. 16: assign xv1 to xsubcnt. 17: assign xv2 to xsubcnt. 18: assign xv3 to xsubcnt. 19: assign xv4 to xsubcnt. 20: assign xv5 to xsubcnt. 21: assign xv7 to xsubcnt. 22: assign xv11 to xsubcnt. 23: assign xv12 to xsubcnt. 24: assign shut0 to xsubcnt. 25: assign shut1 to xsubcnt. 26: assign shut2 to xsubcnt. 27: assign shut3 to xsubcnt. 28: assign fg_trig to xsubcnt. 29: invalid setting. 30: tie xsubcnt high. 31: tie xsubcnt low.
ad9923a rev. 0 | page 70 of 88 address (hex) data bits default value update type name description 01 [0] 0 sck doutdisable 0: data outputs are driven. 1: data outputs are three-stated. [1] 0 doutlatch 0: latch data outputs using dout phase register setting. 1: output latch is transparent. [2] 0 grayen 0: straight binary encoding of adc digital output data. 1: enable gray encoding of adc digital output data. [3] 1 test set to 1. 04 [1:0] 1 vd cdsgain cds gain setting. 0: ?3 db. 1: 0 db. 2: +3 db. 3: +6 db. 05 [9:0] f vd vgagain vga gain. 6 db to 42 db (0.035 db per step). 06 [9:0] 1ec vd clamplevel optical black clamp level. 0 lsb to 256 lsb (0.25 lsb per step).
ad9923a rev. 0 | page 71 of 88 table 46. miscellaneous registers address (hex) data bits default value update type name description 10 [0] 0 sck sw_rst software reset. bit resets to 0. 1: reset register 0x00 to register 0x91 to default values. 11 [0] 0 vd outcontrol 0: make all outputs dc inactive. 1: enable outputs at next vd edge. 12 [0] 1 sck syncenable 0: configure ball g7 as an output signal, determined by register 0x12, bits[9:8]. 1: external synchronization enab le (configure ball g7 as sync input). [7:1] 0 test test mode only. must be set to 0. [9:8] 0 outputpblk when syncenable = 0, selects which signal is output on the sync pin. 0: clpob. 1: pblk. 2: gpo (from register 0x1a). 3: testout (from shutter registers). 13 [0] 0 sck syncpol sync active polarity. 0: active low. 1: active high. 14 [0] 0 sck syncsuspend suspends clocks during sync active pulse. 0: dont suspend. 1: suspend. 15 [0] 0 sck tgcore_rstb timing core reset bar. 0: reset tg core. 1: resume operation. 16 [0] 0 sck osc_rst clo oscillator reset. 0: oscillator in power-down state. 1: resume oscillator operation. 17 [7:0] 0 sck test1 test mode only. must be set to 0. [8] 0 test2 test mode only. must be set to 0. 18 [11:0] 0 vd update serial update line. sets the hd line within the field to update the vd updated registers. 19 [0] 0 sck preventup prevents the updating of the vd updated registers. 0: normal update. 1: prevent update of vd updated registers. 1a [0] 0 vd gpo general-purpose output (gpo) va lue when syncenable = 0 and outputpblk = 2. 0: gpo is low at next vd edge. 1: gpo is high at next vd edge. table 47. vd/hd registers address (hex) data bits default value update type name description 20 [0] 0 sck master vd/hd master or slave mode. 0: slave mode. 1: master mode. 21 [0] 0 sck vdhdpol vd/hd active polarity. 0: low. 1: high. 22 [12:0] 0 vd hdrise rising edge location for hd. [24:13] 0 vdrise rising edge location for vd.
ad9923a rev. 0 | page 72 of 88 table 48. timing core registers address (hex) data bits default value update type name description 30 [0] 0 sck clidivide divide cli input frequency by 2. 0: no divide. 1: divide by 2. 31 [5:0] 0 sck h1posloc h1 rising edge location. [13:8] 20 h1negloc h1 falling edge location. [16] 1 h1h2pol h1/h2 polarity control. 0: inverse of convention in figure 18 . 1: no inversion. 32 [5:0] 0 sck h3posloc h3 rising edge location. [13:8] 20 h3negloc h3 falling edge location. [16] 1 h3h4pol h3/h4 polarity control. 0: inverse of convention in figure 18 . 1: no inversion. 33 [5:0] 0 sck hlposloc hl rising edge location. [13:8] 20 hlnegloc hl falling edge location. [16] 1 hlpol hl polarity control. 0: inverse of convention in figure 18 . 1: no inversion. 34 [5:0] 0 sck rgposloc rg rising edge location. [13:8] 10 rgnegloc rg falling edge location. [16] 1 rgpol rg polarity control. 0: inverse of convention in figure 18 . 1: no inversion. 35 [0] 0 vd h1h2retime retime hblk for h1/h2 to the internal h1 clock. the preferred setting is 1, which adds one cycle of delay to the hblk toggle positions. 0: no retime. 1: retime. [1] 0 h3h4retime retime hblk for h3/h4 to the internal h3 clock. [2] 0 hlretime retime hblk for hl to the internal hl clock. [3] 0 hlhblken enable hblk for hl output. 0: disable. 1: enable. [6:4] 0 hblkwidth controls h1 to h4 widt h during hblk as a fraction of pixel rate. 0: same frequency as pixel rate. 1: 1/2 pixel frequency, that is, it doubles the h1 to h4 pulse width. 2: 1/4 pixel frequency. 3: 1/6 pixel frequency. 4: 1/8 pixel frequency. 5: 1/10 pixel frequency. 6: 1/12 pixel frequency. 7: 1/14 pixel frequency. 36 [3:0] 1 sck h1drv h1 drive strength. 0: off. 1: 4.3 ma. 2: 8.6 ma. 3: 12.9 ma. 4: 17.2 ma. 5: 21.5 ma. 6: 25.8 ma. 7: 30.1 ma.
ad9923a rev. 0 | page 73 of 88 address (hex) data bits default value update type name description [7:4] 1 h2drv h2 drive strength. [11:8] 1 h3drv h3 drive strength. [15:12] 1 h4drv h4 drive strength. [19:16] 1 hldrv hl drive strength. [23:20] 1 rgdrv rg drive strength. 37 [5:0] 24 sck shploc shp sample location. [13:8] 0 shdloc shd sample location. 38 [5:0] 0 sck doutphase dout (internal signal) phase control. [7:6] 0 unused must be set to 0. [8] 0 dclkmode dclk mode., 0: dclk tracks dout phase. 1: dclk phase is fixed. [10:9] 2 doutdelay data output delay (t od ) with respect to dclk rising edge. 0: no delay. 1: ~4 ns. 2: ~8 ns. 3: ~12 ns. [11] 0 dclkinv invert dclk output. 0: no inversion. 1: inversion of dclk. table 49. clpob and pblk masking registers address (hex) data bits default value update type name description 40 [11:0] fff vd clpobmaskstart1 clpob masking start line 1. [12] 0 unused must be set to 0. [24:13] fff clpobmaskend1 clpob masking end line 1. 41 [11:0] fff vd clpobmaskstart2 clpob masking start line 2. [12] 0 unused must be set to 0. [24:13] fff clpobmaskend2 clpob masking end line 2. 42 [11:0] fff vd clpobmaskstart3 clpob masking start line 3. [12] 0 unused must be set to 0. [24:13] fff clpobmaskend3 clpob masking end line 3. 43 [11:0] fff vd pblkmaskstart1 pblk masking start line 1. [12] 0 unused must be set to 0. [24:13] fff pblkmaskend1 pblk masking end line 1. 44 [11:0] fff vd pblkmaskstart12 pblk masking start line 2. [12] 0 unused must be set to 0. [24:13] fff pblkmaskend2 pblk masking end line 2. 45 [11:0] fff vd pblkmaskstart3 pblk masking start line 3. [12] 0 unused must be set to 0. [24:13] fff pblkmaskend3 pblk masking end line 3.
ad9923a rev. 0 | page 74 of 88 table 50. sg pattern registers address (hex) data bits default value update type name description 50 [0] 1 vd sgpol_0 start polarity for sgpattern 0. 0: low. 1: high. [1] 1 sgpol_1 start polarity for sgpattern 1. [2] 1 sgpol_2 start polarity for sgpattern 2. [3] 1 sgpol_3 start polarity for sgpattern 3. [4] 1 sgpol_4 start polarity for sgpattern 4. [5] 1 sgpol_5 start polarity for sgpattern 5. [6] 1 sgpol_6 start polarity for sgpattern 6. [7] 1 sgpol_7 start polarity for sgpattern 7. 51 [12:0] 1fff vd sgtog1_0 pattern 0. toggle position 1. [25:13] 1fff sgtog2_0 pattern 0. toggle position 2. 52 [12:0] 1fff vd sgtog1_1 pattern 1. toggle position 1. [25:13] 1fff sgtog2_1 pattern 1. toggle position 2. 53 [12:0] 1fff vd sgtog1_2 pattern 2. toggle position 1. [25:13] 1fff sgtog2_2 pattern 2. toggle position 2. 54 [12:0] 1fff vd sgtog1_3 pattern 3. toggle position 1. [25:13] 1fff sgtog2_3 pattern 3. toggle position 2. 55 [12:0] 1fff vd sgtog1_4 pattern 4. toggle position 1. [25:13] 1fff sgtog2_4 pattern 4. toggle position 2. 56 [12:0] 1fff vd sgtog1_5 pattern 5. toggle position 1. [25:13] 1fff sgtog2_5 pattern 5. toggle position 2. 57 [12:0] 1fff vd sgtog1_6 pattern 6. toggle position 1. [25:13] 1fff sgtog2_6 pattern 6. toggle position 2. 58 [12:0] 1fff vd sgtog1_7 pattern 7. toggle position 1. [25:13] 1fff sgtog2_7 pattern 7. toggle position 2. 59 [7:0] 0 sck sgmask_byp sgmask override. these values override the vsg mask value located in the field registers. [8] 0 sck sgmask_byp_en sgmask override enab le. must be set to 1 to enable override.
ad9923a rev. 0 | page 75 of 88 table 51. shutter control registers address (hex) data bits default value update type name description 60 [2:0] 0 vd vsub_ctrl selects which intern al signal is used for the vsub output pin. 0: use shut0 parameters (register 0x06d to register 0x071). 1: use shut1 parameters (register 0x072 to register 0x076). 2: use shut2 parameters (r egister 0x077 to register 0x07b). 3: use shut3 parameters (register 0x07c to register 0x080). 4: use vsub0_mux output. 5: use vsub1_mux output. 6: invalid setting. 7: use shut1_shut2_mux output. see register 0xeb, bits[15,13:12] for vsub0_mux, vsub1_mux, and shut1_shut2_mux. [5:3] 1 mshut_ctrl selects which internal signal is used for the mshut output pin. 0: use shut0 parameters. 1: use shut1 parameters. 2: use shut2 parameters. 3: use shut3 parameters. 4: use vsub0_mux output. 5: use vsub1_mux output. 6: invalid setting. 7: use shut1_shut2_mux output. see register 0xeb, bits[15,13:12] for vsub0_mux, vsub1_mux, and shut1_shut2_mux. [8:6] 2 strobe_ctrl selects which internal signal is used for the strobe output pin. 0: use shut0 parameters. 1: use shut1 parameters. 2: use shut2 parameters. 3: use shut3 parameters. 4: use vsub0_mux output. 5: use vsub1_mux output. 6: invalid setting. 7: use shut1_shut2_mux output. see register 0xeb, bits[15,13:12] for vsub0_mux, vsub1_mux, and shut1_shut2_mux. [11:9] 3 testo_ctrl selects which internal signal is used for the testo signal. 0: use shut0 parameters. 1: use shut1 parameters. 2: use shut2 parameters. 3: use shut3 parameters. 4: use vsub0_mux output. 5: use vsub1_mux output. 6: invalid setting. 7: use shut1_shut2_mux output. see register 0xeb, bits[15,13:12] for vsub0_mux, vsub1_mux, and shut1_shut2_mux. 61 [7:0] 0 vd trigger trigger for exposure /readout operation. set bi ts high to trigger. [0]: shut0. [1]: shut1. [2]: shut2. [3]: shut3. [4]: vsub0. [5]: vsub1.
ad9923a rev. 0 | page 76 of 88 address (hex) data bits default value update type name description [6]: exposure. [7]: readout. note that if exposure and readout are triggered together, readout occurs immediately after the exposure is complete. 62 [2:0] 2 vd readoutnum number of fiel ds to suppress the subck pulses during readout. 63 [11:0] 0 vd exposurenum number of fields to suppress the subck and vsg pulses during exposure. [12] 0 vdhdoff disable vd and hd during exposure. 0: enable. 1: disable. 64 [11:0] 0 sg subsuppress number of subck pulses to suppress after vsg line. [23:12] 0 subcknum number of subck pulses per field. 65 [1:0] 0 sg subckmask additional masking of subck output. 0: no mask. 1: begin mask on vd edge. 2: mask using internal shut3 signal. 3: same as 1 and 2 (1 has priority). 66 [0] 1 sg subckpol subck pulse start polarity. 67 [12:0] 1fff sg subck1tog1 first subck pulse toggle position 1. [25:13] 1fff subck1tog2 first subck pulse toggle position 2. 68 [12:0] 1fff sg subck2tog1 second subck pulse toggle position 1. [25:13] 1fff subck2tog2 second subck pulse toggle position 2. 69 [0] 0 vd vsub0_mode vsub0 readout mode. 0: mode 0. 1: mode 1. [1] 0 vsub0_keepon vsub0 keep-on mode. 0: turn vub0 off after readout or at next vd. 1: keep vsub0 active beyond readout, until reset to 0. 6a [11:0] 0 vd vsub0_on vsub0 on position. [12] 0 unused must be set to 0. [13] 1 vsub0pol vsub0 start polarity. 6b [0] 0 vd vsub1_mode vsub1 readout mode. 0: mode 0. 1: mode 1. [1] 0 vsub1_keepon vsub1 keep on mode. 1: keep vsub1 active beyond readout. 6c [11:0] 0 vd vsub1_on vsub1 on position. [12] 0 unused must be set to 0. [13] 1 vsub1pol vsub1 start polarity. 6d [0] 0 vd shut0_on shut0 manual control of signal. 0: off. 1: on. [1] 1 shut0pol shut0 active polarity. 1: on state produces high output. [2] 0 shut0_man shut0 manual control enable. 0: disable. 1: enable manual control. 6e [11:0] 0 vd shut0_on_fd shut0 field on position. ignored during ma nual or nonshutter mode. 6f [11:0] 0 vd shut0_on_ln shut0 line on position. [12] 0 unused must be set to 0. [25:13] 0 vd shut0_on_px shut0 pixel on position. 70 [11:0] 0 vd shut0_off_fd shut0 field off position. ignored during ma nual or nonshutter mode.
ad9923a rev. 0 | page 77 of 88 address (hex) data bits default value update type name description 71 [11:0] 0 vd shut0_off_ln shut0 line off position. [12] 0 unused must be set to 0. [25:13] 0 vd shut0_off_px shut0 pixel off position. 72 [0] 0 vd shut1_on shut1 manual control of signal. 0: off. 1: on. [1] 1 shut1pol shut1 active polarity. 1 = on state produces high output. [2] 0 shut1_man shut1 manual control enable. 0: disable. 1: enable manual control. 73 [11:0] 0 vd shut1_on_fd shut1 field on pos ition. ignored during manu al or nonshutter mode. 74 [11:0] 0 vd shut1_on_ln shut1 line on position. [12] 0 unused must be set to 0. [25:13] 0 vd shut1_on_px shut1 pixel on position. 75 [11:0] 0 vd shut1_off_fd shut1 field off pos ition. ignored during manu al or nonshutter mode. 76 [11:0] 0 vd shut1_off_ln shut1 line off position. [12] 0 unused must be set to 0. [25:13] 0 vd shut1_off_px shut1 pixel off position. 77 [0] 0 vd shut2_on shut2 manual control of signal. 0: off. 1: on. [1] 1 shut2pol shut2 active polarity. 1: on state produces high output. [2] 0 shut2_man shut2 manual control enable. 0: disable. 1: enable manual control. 78 [11:0] 0 vd shut2_on_fd shut2 field on positio n. ignored during manual or nonshutter mode. 79 [11:0] 0 vd shut2_on_ln shut2 line on position. [12] 0 unused must be set to 0. [25:3] 0 vd shut2_on_px shut2 pixel on position. 7a [11:0] 0 vd shut2_off_fd shut2 field off position. ignored during manu al or nonshutter mode. 7b [11:0] 0 vd shut2_off_ln shut2 line off position. [12] 0 unused must be set to 0. [25:13] 0 vd shut2_off_px shut2 pixel off position. 7c [0] 0 vd shut3_on shut3 manual control of signal. 0: off. 1: on. [1] 1 shut3pol shut3 active polarity. 1: on state produces high output. [2] 0 shut3_man shut3 manual control enable. 0: disable. 1: enable manual control. 7d [11:0] 0 vd shut3_on_fd shut3 field on pos ition. ignored during manu al or nonshutter mode. 7e [11:0] 0 vd shut3_on_ln shut3 line on position. [12] 0 unused must be set to 0. [25:13] 0 vd shut3_on_p x shut3 pixel on position. 7f [11:0] 0 vd shut3_off_fd shut3 field off position. ignored during manu al or nonshutter mode. 80 [11:0] 0 vd shut3_off_ln shut3 line off position. [12] 0 unused must be set to 0. [25:13] 0 vd shut3_off_px shut3 pixel off position.
ad9923a rev. 0 | page 78 of 88 table 52. memory configuration registers address (hex) data bits default value update name description 90 [4:0] 0 vd vpat_num total number of v-pattern groups. 91 [4:0] 0 vd vseq_num total number of v-sequences. table 53. standby polarity, shutter mux, and fg_trig registers address (hex) data bits default value update name description e2 [24:0] 0 sck standby3pol programmable polarities for vertical and shutter outputs during standby 3. [0] = xv1 polarity. [1] = xv2 polarity. [2] = xv3 polarity. [3] = xv4 polarity. [4] = xv5 polarity. [5] = xv6 polarity. [6] = xv7 polarity. [7] = xv8 polarity. [8] = xv9 polarity. [9] = xv10 polarity. [10] = xv11 polarity. [11] = xv12 polarity. [12] = xv13 polarity. [13] = vsg1 polarity. [14] = vsg2 polarity. [15] = vsg3 polarity. [16] = vsg4 polarity. [17] = vsg5 polarity. [18] = vsg6 polarity. [19] = vsg7 polarity. [20] = vsg8 polarity. [21] = xsubck polarity. [22] = vsub polarity. note: controls polarity for standby 1, standby 2, standby 3, or if outcontrol = low. [23] = mshut polarity. note: controls polarity for standby 1, standby 2, standby 3, or if outcontrol = low. [24] = strobe polarity. note: controls polarity for standby 1, standby 2, standby 3, or if outcontrol = low. e6 [0] 0 sck vcnt_run 0: counters behave the same as ad9923 in sweep region. 1: enables additional toggles after last repeat of sweep region. ea [9:0] 0 sck test3 required start-up register; must be set to 0x60 eb [11:0] 300 sck test4 test register. [12] 0 sck vsub0_mux 0: use vsub0, 1: use shut0 ^ vsub0. [13] 0 sck vsub1_mux 0: use vsub1, 1: use shut0 ^ vsub1. [14] 0 sck test5 test register. set to 0. [15] 0 sck shut1_shut2_mu x 0: use shut0 ^ shut1. 1: use shut0 ^ shut2. f1 [3:0] 0 sck fg_trigen fg_trig operati on enable and field count selection. [2:0] selects field count for pulse (based on mode field counter). [3] = 1 to enable fg_trig signal output.
ad9923a rev. 0 | page 79 of 88 address (hex) data bits default value update name description f3 [21:0] 3fe000 sck standby12pol programmable polarities for v-outputs and xsubck during standby 1, standby 2, or if outcontrol = low. [0] = xv1 polarity. [1] = xv2 polarity. [2] = xv3 polarity. [3] = xv4 polarity. [4] = xv5 polarity. [5] = xv6 polarity. [6] = xv7 polarity. [7] = xv8 polarity. [8] = xv9 polarity. [9] = xv10 polarity. [10] = xv11 polarity. [11] = xv12 polarity. [12] = xv13 polarity. [13] = vsg1 polarity. [14] = vsg2 polarity. [15] = vsg3 polarity. [16] = vsg4 polarity. [17] = vsg5 polarity. [18] = vsg6 polarity. [19] = vsg7 polarity. [20] = vsg8 polarity. [21] = xsubck polarity. table 54. mode register: vd updated address (binary) data bits default value description 12b10_xx_xxxx_xxxx [37:0] 0 a11, a10 set to 10, remaining a9 to a0 bits used for d37:d28. (set a11, a10 = 10) [37:35] number of fields (maximum of seven). [34:30] selected field for field 7. [29:25] selected field for field 6. [24:20] selected field for field 5. [19:15] selected field for field 4. [14:10] selected field for field 3. [9:5] selected field for field 2. [4:0] selected field for field 1.
ad9923a rev. 0 | page 80 of 88 unused xv-channels must have toggle positions programmed to maximum values. for example, if xv1 to xv8 are used, xv9 to xv12 must have all toggle positions set to maximum values. this prevents unpredictable behavior because the default values are unkno wn. table 55. v-pattern group 0 (vpat0) registers address (hex) data bits default value update type name description 00 [12:0] undefined scp xv1tog1 xv1 toggle position 1. [25:13] undefined xv1tog2 xv1 toggle position 2. 01 [12:0] undefined scp xv1tog3 xv1 toggle position 3. [25:13] undefined xv1tog4 xv1 toggle position 4. 02 [12:0] undefined scp xv2tog1 xv2 toggle position 1. [25:13] undefined xv2tog2 xv2 toggle position 2. 03 [12:0] undefined scp xv2tog3 xv2 toggle position 3. [25:13] undefined xv2tog4 xv2 toggle position 4. 04 [12:0] undefined scp xv3tog1 xv3 toggle position 1. [25:13] undefined xv3tog2 xv3 toggle position 2. 05 [12:0] undefined scp xv3tog3 xv3 toggle position 3. [25:13] undefined xv3tog4 xv3 toggle position 4. 06 [12:0] undefined scp xv4tog1 xv4 toggle position 1. [25:13] undefined xv4tog2 xv4 toggle position 2. 07 [12:0] undefined scp xv4tog3 xv4 toggle position 3. [25:13] undefined xv4tog4 xv4 toggle position 4. 08 [12:0] undefined scp xv5tog1 xv5 toggle position 1. [25:13] undefined xv5tog2 xv5 toggle position 2. 09 [12:0] undefined scp xv5tog3 xv5 toggle position 3. [25:13] undefined xv5tog4 xv5 toggle position 4. 0a [12:0] undefined scp xv6tog1 xv6 toggle position 1. [25:13] undefined xv6tog2 xv6 toggle position 2. 0b [12:0] undefined scp xv6tog3 xv6 toggle position 3. [25:13] undefined xv6tog4 xv6 toggle position 4. 0c [12:0] undefined scp xv7tog1 xv7 toggle position 1. [25:13] undefined xv7tog2 xv7 toggle position 2. 0d [12:0] undefined scp xv7tog3 xv7 toggle position 3. [25:13] undefined xv7tog4 xv7 toggle position 4. 0e [12:0] undefined scp xv8tog1 xv8 toggle position 1. [25:13] undefined xv8tog2 xv8 toggle position 2. 0f [12:0] undefined scp xv8tog3 xv8 toggle position 3. [25:13] undefined xv8tog4 xv8 toggle position 4. 10 [12:0] undefined scp xv9tog1 xv9 toggle position 1. [25:13] undefined xv9tog2 xv9 toggle position 2. 11 [12:0] undefined scp xv9tog3 xv9 toggle position 3. [25:13] undefined xv9tog4 xv9 toggle position 4. 12 [12:0] undefined scp xv10tog1 xv10 toggle position 1. [25:13] undefined xv10tog2 xv10 toggle position 2. 13 [12:0] undefined scp xv10tog3 xv10 toggle position 3. [25:13] undefined xv10tog4 xv10 toggle position 4. 14 [12:0] undefined scp xv11tog1 xv11 toggle position 1. [25:13] undefined xv11tog2 xv11 toggle position 2. 15 [12:0] undefined scp xv11tog3 xv11 toggle position 3. [25:13] undefined xv11tog4 xv11 toggle position 4. 16 [12:0] undefined scp xv12tog1 xv12 toggle position 1. [25:13] undefined xv12tog2 xv12 toggle position 2.
ad9923a rev. 0 | page 81 of 88 address (hex) data bits default value update type name description 17 [12:0] undefined scp xv12tog3 xv12 toggle position 3. [25:13] undefined xv12tog4 xv12 toggle position 4. 18 [12:0] undefined scp xv1tog5 xv1 toggle position 5. [25:13] undefined xv1tog6 xv1 toggle position 6. 19 [12:0] undefined scp xv2tog5 xv2 toggle position 5. [25:13] undefined xv2tog6 xv2 toggle position 6. 1a [12:0] undefined scp xv3tog5 xv3 toggle position 5. [25:13] undefined xv3tog6 xv3 toggle position 6. 1b [12:0] undefined scp xv4tog5 xv4 toggle position 5. [25:13] undefined scp xv4tog6 xv4 toggle position 6. 1c [12:0] undefined scp xv5tog5 xv5 toggle position 5. [25:13] undefined xv5tog6 xv5 toggle position 6. 1d [12:0] undefined scp xv6tog5 xv6 toggle position 5. [25:13] undefined xv6tog6 xv6 toggle position 6. 1e [12:0] undefined scp xv7tog5 xv7 toggle position 5. [25:13] undefined xv7tog6 xv7 toggle position 6. 1f [12:0] undefined scp xv8tog5 xv8 toggle position 5. [25:13] undefined xv8tog6 xv8 toggle position 6. 20 [12:0] undefined scp xv9tog5 xv9 toggle position 5. [25:13] undefined xv9tog6 xv9 toggle position 6. 21 [12:0] undefined scp xv10tog5 xv10 toggle position 5. [25:13] undefined xv10tog6 xv10 toggle position 6. 22 [12:0] undefined scp xv11tog5 xv11 toggle position 5. [25:13] undefined xv11tog6 xv11 toggle position 6. 23 [12:0] undefined scp xv12tog5 xv12 toggle position 5. [25:13] undefined xv12tog6 xv12 toggle position 6. 24 [12:0] undefined scp xv13tog1 xv13 toggle position 1. [25:13] undefined xv13tog2 xv13 toggle position 2. 25 [12:0] undefined scp xv13tog3 xv13 toggle position 3. [25:13] undefined xv13tog4 xv13 toggle position 4. 26 [12:0] undefined scp xv13tog5 xv13 toggle position 5. [25:13] undefined xv13tog6 xv13 toggle position 6. 27 [25:0] undefined scp unused must be set to 0. table 56. v-sequence registers address (hex) data bits default value update type name description 00 [0] undefined scp clpobpol clpob start polarity. [1] undefined pblkpo l pblk start polarity. [2] undefined hold hold function. [4:3] undefined vmask enable masking of v-outputs. 0: no mask. 1: enable freeze1/resume1. 2: enable freeze2/resume2. 3: enable both freeze1/resume1 and freeze2/resume2. [7:5] undefined hblkalt enable hblk alternation. [12:8] undefined unused must be set to 0. [25:13] undefined hdlen hd line leng th (number of pixels in the line).
ad9923a rev. 0 | page 82 of 88 address (hex) data bits default value update type name description 01 [0] undefined scp xv1pol xv1 start polarity. [1] undefined xv2pol xv2 start polarity. [2] undefined xv3pol xv3 start polarity. [3] undefined xv4pol xv4 start polarity. [4] undefined xv5pol xv5 start polarity. [5] undefined xv6pol xv6 start polarity. [6] undefined xv7pol xv7 start polarity. [7] undefined xv8pol xv8 start polarity. [8] undefined xv9pol xv9 start polarity. [9] undefined xv10pol xv10 start polarity. [10] undefined xv11pol xv11 start polarity. [11] undefined xv12pol xv12 start polarity. [12] undefined xv13pol xv13 start polarity. [13] undefined xv1pol2 xv1 second polarity. [14] undefined xv2pol2 xv2 second polarity. [15] undefined xv3pol2 xv3 second polarity. [16] undefined xv4pol2 xv4 second polarity. [17] undefined xv5pol2 xv5 second polarity. [18] undefined xv6pol2 xv6 second polarity. [19] undefined xv7pol2 xv7 second polarity. [20] undefined xv8pol2 xv8 second polarity. [21] undefined xv9pol2 xv9 second polarity. [22] undefined xv10pol2 xv10 second polarity. [23] undefined xv11pol2 xv11 second polarity. [24] undefined xv12pol2 xv12 second polarity. [25] undefined xv13pol13 xv13 second polarity. 02 [12:0] undefined scp groupsel select between group a and group b. 0: group a, 1: group b. [13] undefined two_group 1: use all group a and group b toggle positions for single v- pattern. [18:14] undefined vpatselb selected v-pattern group b or special v-pattern second position. [23:19] undefined vpatsela selected v-pattern group a. [25:24] undefined vpata_mode number of alternation repeats. 0: disable alternation, use vrepa_1 for all lines. 1: 2-line alternation. 2: 3-line alternation. 3: 4-line alternation. 03 [12:0] undefined scp vstartb start position of selected v-pattern group b, or start position of special v-pattern. [25:13] undefined vlenb length of selected v-pattern group b. 04 [12:0] undefined scp vstarta start position of selected v-pattern group a. [25:13] undefined vlena length of selected v-pattern group a. 05 [11:0] undefined scp vrepb_odd number of repetitions for v-pattern group b for odd lines. [12] undefined unused must be set to 0. [24:13] undefined vrepb_even number of repetitions for v-pattern group b for even lines. 06 [11:0] undefined scp vrepa_1 number of repetitions for v-pattern group a for first lines. [12] undefined unused must be set to 0. [24:13] undefined vrepa_2 number of repetitions for v-pattern group a for second lines.
ad9923a rev. 0 | page 83 of 88 address (hex) data bits default value update type name description 07 [12:0] undefined scp vrepa_3 number of repetitions for v-pattern group a for third lines, or first hblk toggle position for odd lines. [25:13] undefined vepa_4 number of repetitions for v-pattern group a for fourth lines, or second hblk toggle position for odd lines. 08 [12:0] undefined scp freeze1 holds the xv1 to xv13 outputs at their current levels, or third hblk toggle position for odd lines. [25:13] undefined resume1 resumes the operation of xv1 to xv13 outputs to finish the pattern, or fourth hblk toggle position for odd lines. 09 [12:0] undefined scp freeze2 holds the xv1 to xv13 outputs at their current levels, or fifth hblk toggle position for odd lines. [25:13] undefined resume2 resumes the operation of xv1 to xv13 outputs to finish the pattern, or sixth hblk toggle position for odd lines. 0a [12:0] undefined scp hblktoge1 first hblk toggle position for even lines. [25:13] undefined hblktoge2 seco nd hblk toggle position for even lines. 0b [12:0] undefined scp hblktoge3 third hblk toggle position for even lines. [25:13] undefined hblktoge4 fourth hblk toggle position for even lines. 0c [12:0] undefined scp hblkstart start location for hblk in alte rnation mode 4 to alternation mode 7, or fifth hblk toggle position for even lines. [25:13] undefined hblkend end location for hblk in alte rnation mode 4 to alternation mode 7, or sixth hblk toggle position for even lines. 0d [12:0] undefined scp hblklen hblk length in hblk altern ation mode 4 to alternation mode 7. [20:13] undefined hblkrep number of hblk repetitions in hblk alternation mode 4 to alternation mode 7. [21] undefined hblkmask_h1 masking polarity for h1 during hblk. [22] undefined hblkmask_h3 masking polarity for h3 during hblk. [23] undefined hblkmask_hl masking polarity for hl during hblk. 0e [12:0] undefined scp clpobtog1 clpob toggle position 1. [25:13] undefined clpobtog2 clpob toggle position 2. 0f [12:0] undefined scp pblk tog1 pblk toggle position 1. [25:13] undefined pblktog2 pblk toggle position 2. 10 [25:0] undefined scp unused must be set to 0. 11 [11:0] undefined scp spxv_act special xv-pattern active line. [12] undefined unused must be set to 0. [13] undefined spxv_en special xv-pattern enable (active high). 12 [25:0] undefined scp unused must be set to 0. 13 [25:0] undefined scp unused must be set to 0.
ad9923a rev. 0 | page 84 of 88 table 57. field registers address (hex) data bits default value update type name description 00 [4:0] undefined vd seq0 selected v- sequence for first region in the field. [9:5] undefined seq1 selected v-sequence for second region in the field. [14:10] undefined seq2 selected v-sequence for third region in the field . [19:15] undefined seq3 selected v-sequence for fourth region in the field. [24:20] undefined seq4 selected v-sequence for fifth region in the field. 01 [4:0] undefined vd seq5 selected v-sequence for sixth region in the field. [9:5] undefined seq6 selected v-sequence for seventh region in the field. [14:10] undefined seq7 selected v-sequence for eighth region in the field. [19:15] undefined seq8 selected v-se quence for ninth region in the field. 02 [1:0] undefined vd mult_sweep0 enables mult iplier mode and/or sweep mode for region 0. 0: multiplier off/sweep off. 1: multiplier off/sweep on. 2: multiplier on/sweep off. 3: multiplier on/sweep on. [3:2] undefined mult_sweep1 enables multip lier mode and/or sweep mode for region 1. [5:4] undefined mult_sweep2 enables multip lier mode and/or sweep mode for region 2. [7:6] undefined mult_sweep3 enables multip lier mode and/or sweep mode for region 3. [9:8] undefined mult_sweep4 enables multip lier mode and/or sweep mode for region 4. [11:10] undefined mult_sweep5 enables mult iplier mode and/or sweep mode for region 5. [13:12] undefined mult_sweep6 enables mult iplier mode and/or sweep mode for region 6. [15:14] undefined mult_sweep7 enables mult iplier mode and/or sweep mode for region 7. [17:16] undefined mult_sweep8 enables mult iplier mode and/or sweep mode for region 8. 03 [11:0] undefined vd scp0 v-sequence change position 0. [12] undefined unused must be set to 0. [24:13] undefined scp1 v-sequence change position 1. 04 [11:0] undefined vd scp2 v-sequence change position 2. [12] undefined unused must be set to 0. [24:13] undefined scp3 v-sequence change position 3. 05 [11:0] undefined vd scp4 v-sequence change position 4. [12] undefined unused must be set to 0. [24:13] undefined scp5 v-sequence change position 5. 06 [11:0] undefined vd scp6 v-sequence change position 6. [12] undefined unused must be set to 0. [24:13] undefined scp7 v-sequence change position 7. 07 [11:0] undefined vd scp8 v-sequence change position 8. [12] undefined unused must be set to 0. [24:13] undefined vdlen vd field le ngth (number of lines in the field). 08 [12:0] undefined vd hdlast hd last line length. line length of last line in the field. [25:13] undefined vstartsecond start posit ion for second v-pattern on sg active line. 09 [4:0] undefined vd vpatsecond selected second v-pattern group for sg active line. [20:5] undefined sgmask masking of vsg outputs during sg active line. 0a [23:0] undefined vd sgpatsel sele ction of vsg patterns for each vsg output. 0b [11:0] undefined vd sgactline1 sg active line 1. [12] undefined unused must be set to 0. [24:13] undefined sgactline2 sg active line 2.
ad9923a rev. 0 | page 85 of 88 outline dimensions seating plane detail a 0.45 0.40 0.35 ball diameter 0.10 max coplanarity 0.65 bsc 6.50 bsc sq a b c d e f g j h k 10 11 8 7 63 2 1 9 5 4 0.91 min a 1 corner index area *1.40 1.31 1.16 top view 8.00 bsc sq a1 ball corner detail a bottom view 0.25 min l * compliant to jedec standards mo-225 with the exception to package height. 012006-0 figure 89. 105-lead chip scale package ball grid array [csp_bga] (bc-105) dimensions shown in millimeters ordering guide model temperature range package description package option ad9923abbcz 1 ?25c to +85c 105-lead chip scale package ball grid array [csp_bga] bc-105 AD9923ABBCZRL 1 ?25c to +85c 105-lead chip scale package ball grid array [csp_bga] bc-105 1 z = pb-free part.
ad9923a rev. 0 | page 86 of 88 notes
ad9923a rev. 0 | page 87 of 88 notes
ad9923a rev. 0 | page 88 of 88 notes ?2006 analog devices, inc. all rights reserved. trademarks and registered trademarks are the property of their respective owners. d06415-0-10/06(0)


▲Up To Search▲   

 
Price & Availability of AD9923ABBCZRL

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X